summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-08-22AK: Remove test case that doesn't test anything.asynts
Currently, there is no way to check that an assert fails. This test passes regardless of the assert. (AK/HashTable.h:93)
2020-08-22Kernel: Fix kmalloc memory corruptionTom
Rather than hardcoding where the kmalloc pool should be, place it at the end of the kernel image instead. This avoids corrupting global variables or other parts of the kernel as it grows. Fixes #3257
2020-08-22Kernel: Make PhysicalPage not movable and use atomic ref countingTom
We should not be moving ref-counted objects.
2020-08-22Kernel: Copy command line to a safe placeTom
This avoids kmalloc overwriting it because it may be within the kmalloc or eternal pool.
2020-08-22AK: Get rid of make_singleton functionTom
Just default the InitFunction template argument.
2020-08-22Kernel: Fix regression where MemoryManager is initialized twiceTom
MemoryManager cannot use the Singleton class because MemoryManager::initialize is called before the global constructors are run. That caused the Singleton to be re-initialized, causing it to create another MemoryManager instance.
2020-08-22Kernel: Move Singleton class to AKTom
2020-08-22Meta: Add missing license header to ThemeEditorItamar
2020-08-22HackStudio: Implement "Step Over" debugging actionItamar
The "Step Over" action continues execution without stepping into instructions in subsequent function calls.
2020-08-22HackStudio: Implement "Step Out" debugging actionItamar
The "Step Out" action continues execution until the current function returns. Also, LibDebug/StackFrameUtils was introduced to eliminate the duplication of stack frame inspection logic between the "Step Out" action and the BacktraceModel.
2020-08-22HackStudio: Add icons for "step in" and "step out"Itamar
2020-08-22TextEditor: Increase padding in ruler widthItamar
2020-08-22HackStudio: Move debugger actions to a toolbar in the debug widgetItamar
2020-08-21ThemeEditor: Tweak the main UI layoutAndreas Kling
2020-08-21ThemeEditor: Set window icon and titleAndreas Kling
2020-08-21ThemeEditor: Allow editing of theme colors one at a timeAndreas Kling
This is not perfect and kinda clunky to use, but these are the best input widgets we have available at the moment, so let's make do with what we have. :^)
2020-08-21LibGUI: Add ComboBox::selected_index()Andreas Kling
This returns the currently selected index. It was a bit strange that we had set_selected_index() but not a way to read it back. :^)
2020-08-21LibGfx: Use an enumerator macro for color rolesAndreas Kling
2020-08-21ThemeEditor: Start working on a window theme editor :^)Andreas Kling
2020-08-21LibGfx+WindowServer: Simplify WindowTheme::paint_normal_frame() APIAndreas Kling
Don't require passing in the outer frame rect since the theme can compute that itself, based on the window rect.
2020-08-21LibJS: Implement Date's string constructorNico Weber
... by calling Date.parse(). With this, dates on http://45.33.8.238/ and http://45.33.8.238/linux/summary.html are correctly converted to local time :^)
2020-08-21LibJS: Implement Date.parse()Nico Weber
The spec says Date.parse() should accept at least a simplified form of ISO 8601, so that's all this implements.
2020-08-21Kernel: Fix reading RTCNico Weber
The CMOS sets bit 2 (0x4) if times are binary, if it's not set they're in BCD. The CMOS sets bit 1 (0x1) if hours are on a 12 hour clock. In that case, the highest bit in the hour byte is set for PM times (both in binary and BCD times). Three bugs: 1. The lower 7 bits were masked off incorrectly when calling bcd_to_binary(). Use 0x7F as mask, not 0x70. 2. The highest bit to check if a time was PM was checked after BCD conversion of the low 7 bits, which clobbered that bit. Do the check before BCD conversion. 3. In the 12 hour clock, midnight and noon are "12", so those need to be converted to 0 even if for non-PM times (else midnight is "12", not "0"). With this, SerenityOS consistently shows UTC as the current time, as it should. If folks want it to display local time instead, they can get this by adding `-rtc base=localtime` to Meta/run.sh -- but a better fix would be to add timezone management and convert from UTC system clock to the user timezone at display time.
2020-08-21LibWeb: InProcessWebView::selected_text() should use the focused frameAndreas Kling
2020-08-21LibWeb: Make selection state recomputation implicitAndreas Kling
Add a LayoutDocument API for modifying the selection and make clients call that so we can recompute selection states automatically.
2020-08-21LibWeb: Remember the selection state of each LayoutNodeAndreas Kling
Instead of computing it on the fly while painting each layout node, they now remember their selection state. This avoids a whole bunch of tree traversal while painting with anything selected.
2020-08-21LibLine: Do not ignore Ctrl-C when buffer is emptyAnotherTest
I am told that this is how people test their shells. That's bizarre to me, but sure :^)
2020-08-21IPCCompiler: Fix formatting mishap after GenericLexer changeNico Weber
2020-08-21LibJS: Parser refactored to use constexpr precedence tableMuhammad Zahalqa
Replaced implementation dependent on HashMap with a constexpr PrecedenceTable based on array lookup.
2020-08-21ResourceGraph: Keep the graph inside the GUI::Frame rectAndreas Kling
Part of the graph was hidden under the frame rect, which had the effect of delaying the appearance of spikes (well, all changes really.)
2020-08-21LibLine: Handle interrupts/window size changes internallyAnotherTest
2020-08-21LibLine: Handle Ctrl-C and Ctrl-D in a way similar to other line editorsAnotherTest
Makes C-c print "^C" and continue prompting on a new line. Also fixes a problem where an interrupted get_line() would need more read()'s than required to update the display.
2020-08-21LibJS: Implement Date.valueOf()Nico Weber
It does exactly the same thing as Date.getTime().
2020-08-21LibWeb: Use GenericLexer in WrapperGeneratorNico Weber
2020-08-21IPCCompiler: Use GenericLexerNico Weber
No behavior change.
2020-08-21Shell: Make 'for' loops read their input as an streamAnotherTest
i.e. process an element as it becomes available.
2020-08-21AK: Add Stream::offset_of(ReadonlyBytes)AnotherTest
2020-08-21AK+LibC+Kernel: Move the implementation of memmem to AKAnotherTest
2020-08-21Meta: Add Tom (tomuta) to the contributors list :^)Andreas Kling
2020-08-21LibChess: Shrink Chess::Piece from 8 bytes to 1 byteAndreas Kling
This makes the engine footprint a lot smaller.
2020-08-21ChessEngine: Add ChessEnginePeter Elliott
This engine is pretty bad, but doesn't let itself get checkmated
2020-08-21Chess: Add support for UCI enginesPeter Elliott
2020-08-21LibChess: Add UCIEndpoint for writing UCI chess enginesPeter Elliott
2020-08-21LibChess: Fix the ability to counter check with another checkPeter Elliott
fixes #3187,#3171
2020-08-21Chess: Refactor game logic into LibChess for use in enginesPeter Elliott
In the future UCI protocol stuff will also go into LibChess.
2020-08-21Chess: Add serialization of moves and squaresPeter Elliott
2020-08-21LibCore: Add File::{stdin, stdout, stderr}()Peter Elliott
This should make it easier to get a Core::File for standard streams.
2020-08-21Chess: Fix generation of promotion movesPeter Elliott
2020-08-21LibJS: Implement Date.prototype.toISOString()Nico Weber
2020-08-21LibJS: Implement Date.UTC()Nico Weber