summaryrefslogtreecommitdiff
path: root/Libraries
AgeCommit message (Collapse)Author
2020-07-09LibJS: Integrate Symbols into objects as valid keysMatthew Olsson
This allows objects properties to be created for symbol keys in addition to just plain strings/numbers
2020-07-09LibJS: Add test for well-known symbolsMatthew Olsson
2020-07-09LibJS: Uncomment remaining symbol testsMatthew Olsson
2020-07-09LibJS: Move global symbol map from SymbolObject to InterpreterMatthew Olsson
This allows different instances of the Interpreter to have their own global symbols. Also makes Symbol non-copyable and non-moveable.
2020-07-09UserspaceEmulator: Tidy up SoftCPU's general purpose registersAndreas Kling
This patch adds a PartAddressableRegister type, which divides a 32-bit value into separate parts needed for the EAX/AX/AL/AH register splits. Clean up the code around register access to make it a little less cumbersome to use.
2020-07-09LibCore: Add register_signal and unregister_signal to EventLoopTom
This allows safer asynchronous handling of signals. Signals are dispatched with highest priority.
2020-07-09LibVT: Set scrollbar page sizeTom
2020-07-09LibGUI: Make scrollbar thumb size relative to content sizeTom
In order to calculate a thumb size that is a representation of the visible portion (page) of the content, that information needs to be taken into account.
2020-07-09LibGUI: Implement IconView auto-scrolling when trying to select items out of ↵Tom
view If selecting in a large icon view, and dragging the mouse outside of the widget, or close to the border of it, start scrolling automatically. This allows for selecting large amount of items that exceed the amount that can be displayed.
2020-07-08LibWeb: Don't call did_layout in non-main frame documentsKevin Meyer
Fixes https://github.com/SerenityOS/serenity/issues/2649 Loading a page with iframes could lead to a scenario, where the iframe document finished layout prior to the main frame beeing laid out initially. This caused a crash/assertion of the browser.
2020-07-08LibWeb: Add type for FrameLoader::loadKevin Meyer
This should enable to destinguish between IFrame, Reload and Navigation motivated loads in order to call the appropriate hooks. This change is motivated as loading the IFrame test page causes the IFrame url to be added to the history and shows up as the current browser location bar.
2020-07-07LibLine: Add ctrl-t shortcut for transposing charactersNico Weber
2020-07-07WindowServer+LibGUI: Add "wait" cursorLinus Groh
2020-07-07WindowServer+LibGUI: Add "help" cursorLinus Groh
2020-07-07LibGUI: Use Resize{Column,Row} cursor for Splitter and AbstractTableViewLinus Groh
2020-07-07WindowServer+LibGUI: Add "resize row/column" cursorsLinus Groh
2020-07-07LibX86: Expose some more things on X86::InstructionAndreas Kling
2020-07-07LibX86: Add an abstract X86::Interpreter classAndreas Kling
This abstract class has a pure virtual member function for all of the X86 instructions. This can be used to implement.. something. :^)
2020-07-07LibEdit: Make Ctrl-d on an empty line mean EOD againNico Weber
2020-07-07LibWeb: Turn floated display:inline elements into block-level elementsAndreas Kling
2020-07-07LibGUI: Add on_toggle function to TreeViewthankyouverycool
This adds a function to expose the index and open/close state of expandible nodes in TreeView.
2020-07-07LibWeb: Make context menus work in WebContentViewAndreas Kling
As usual, this was just a matter of plumbing the PageClient calls from the WebContent side over to the WebContentView side. :^)
2020-07-07LibWeb: Fix PageView::url() null-checkKevin Meyer
2020-07-07LibJS: Object.preventExtensions should allow property modficationMatthew Olsson
Existing properties on a non-extensible object should be changable and deletable.
2020-07-07Kernel+LibELF: Expose ELF Auxiliary Vector to UserspaceAndrew Kaster
The AT_* entries are placed after the environment variables, so that they can be found by iterating until the end of the envp array, and then going even further beyond :^)
2020-07-06LibJS: Convert Array tests to new testing frameworkLinus Groh
2020-07-06LibJS: Split isNaN tests into multiple sectionsLinus Groh
2020-07-06LibJS: Indent tests with 4 spaces instead of 2Matthew Olsson
2020-07-06LibJS: Convert all remaining non-Array tests to the new system :)Matthew Olsson
2020-07-06LibJS: Convert remaining top-level tests to new systemMatthew Olsson
2020-07-06test-js: Use prettier and format all filesMatthew Olsson
2020-07-06test-js: Display messages from console.log in test outputMatthew Olsson
This will help greatly with debugging!
2020-07-06test-js: Allow skipping tests with "test.skip(name, callback)"Matthew Olsson
Skipped tests count as a "pass" rather than a "fail" (i.e. a test suite with a skipped test will pass), however it does display a message when the test is printing. This is intended for tests which _should_ work, but currently do not. This should be preferred over "// FIXME" notes if possible.
2020-07-06test-js: Remove run-tests.shMatthew Olsson
The shell script is no longer necessary -- simply run "test-js" from inside Serenity, or $SERENITY_ROOT/Build/Meta/Lagom/test-js from the host.
2020-07-06LibJS/test-js: Clean up test-js codeMatthew Olsson
This commit also exposes JSONObject's implementation of stringify to the public, so that it can be used by test-js without having to go through the interpreter's environment.
2020-07-06LibJS: Fix String.raw.lengthMatthew Olsson
2020-07-06LibJS: Convert most builtin tests to new systemMatthew Olsson
2020-07-06LibJS: Convert Reflect object tests to new testing frameworkLinus Groh
2020-07-06LibJS: Add more test matchersMatthew Olsson
2020-07-06LibJS: Hide some debug output behind flagsMatthew Olsson
This hides some Object.cpp output, as well as removing the "debugger" debug output.
2020-07-06LibJS: Convert Proxy testsMatthew Olsson
2020-07-06LibJS: Add test-common.js tests, remove unused matchersMatthew Olsson
Now that test-common.js is quite a bit more complicated, we need tests for test-common to make sure all of the matchers behave correctly
2020-07-06LibJS: Convert some top-level tests to the new systemMatthew Olsson
First test conversions! These look really good :)
2020-07-06LibJS: Refactor run-tests.sh to use the new test-js programMatthew Olsson
2020-07-06LibJS/test-js: Create test-js program, prepare for test suite refactorMatthew Olsson
This moves most of the work from run-tests.sh to test-js.cpp. This way, we have a lot more control over how the test suite runs, as well as how it outputs. This should result in some cool functionality! This commit also refactors test-common.js to mimic the jest library. This should allow tests to be much more expressive :)
2020-07-06LibWeb: Make WebContentView show the hover hand over links :^)Andreas Kling
2020-07-06LibCore: Don't fire Socket::on_ready_to_read if !can_read()Andreas Kling
This is a bit of a pickle and I'm unsure what's the best behavior here. Since notifiers fire asynchronously via the event loop, we may end up firing a notifier for a socket fd, but then reading/writing that socket fd before ending up in the notifier callback. In that situation, the socket is no longer in the same state as it was when the event loop generated the notifier event. This patch stops Socket from firing one hook in this situation but this probably needs a global rethink. With this change, Browser starts reliably in multi-process mode. :^)
2020-07-06LibCore: Only deliver Read/Write events to listening notifiersAndreas Kling
If a notifier has disabled read/write notifications via its event mask, we should not spam it with events, even if they have a hook callback.
2020-07-06LibLine: Support Ctrl-b/f and Ctrl-dNico Weber
And make the existing cltr-h handler easier to see.
2020-07-06LibLine: Extract lambdas for cursor-left, cursor-right, deleteNico Weber
Also move the existing backspace lambda out of the loop. The do_delete() extraction fixes a minor bug where InputState::ExpectTerminator wasn't entered if delete was pressed at the very end of a line. Now that this is fixed, there's no more "LibLine: Unhandled final: 7e (~)" when hitting delete at the end of the line.