Andreas Kling
f1bbc39148
LibX86: ALWAYS_INLINE some Instruction members
2020-07-13 13:50:22 +02:00
Stefano Cristiano
a1e1aa96fb
Toolchain: Allow building using CMake on macOS
2020-07-13 08:46:44 +02:00
Andreas Kling
226c0cfb20
LibVT: Don't scroll to bottom when pressing the right shift key
2020-07-12 14:32:39 +02:00
AnotherTest
9054811ace
LibM: Add 'isnormal'
2020-07-12 01:19:48 +02:00
Andreas Kling
97f4cebc8d
UserspaceEmulator+LibX86: Implement the LEA instruction
...
This piggybacks nicely on Instruction's ModR/M resolution code. :^)
2020-07-11 23:57:14 +02:00
Andreas Kling
9257657340
LibC: Some s/int/size_t/ in the malloc code
2020-07-11 23:57:14 +02:00
Matthew Olsson
43d955014d
LibJS: Implement Symbol.toStringTag
2020-07-11 23:13:29 +02:00
Matthew Olsson
5ecd504f4e
LibJS: Implement spec-compliant Object.prototype.toString
2020-07-11 23:13:29 +02:00
Matthew Olsson
531fdb2e82
LibJS: Prefer "define_property" over "put"
2020-07-11 18:54:13 +02:00
Matthew Olsson
c485c86015
LibJS: Use macros to enumerate well-known symbols
...
Not only is this a much nicer api (can't pass a typo'd string into the
get_well_known_symbol function), it is also a bit more performant since
there are no hashmap lookups.
2020-07-11 18:54:13 +02:00
Matthew Olsson
2ea85355fe
LibJS: Start implementing iterable framework, add ArrayIterator
...
With the addition of symbol keys, work can now be done on starting to
implement the well-known symbol functionality. The most important of
these well-known symbols is by far Symbol.iterator.
This patch adds IteratorPrototype, as well as ArrayIterator and
ArrayIteratorPrototype. In the future, sometime after StringIterator has
also been added, this will allow us to use Symbol.iterator directly in
for..of loops, enabling the use of custom iterator objects. Also makes
adding iterator support to native objects much easier (as will have to
be done for Map and Set, when they get added).
2020-07-11 18:54:13 +02:00
Matthew Olsson
51bfc6c6b3
LibJS: Renamed Object::GetOwnPropertyReturnMode to Object::PropertyKind
...
This enum will be used by iterators, so it makes sense to use a more
general name.
2020-07-11 18:54:13 +02:00
Peter Elliott
0fd31ef598
LibGUI: Ignore KeyUp events by default
...
fixed #2576
2020-07-11 18:51:41 +02:00
Linus Groh
7241b9ca0c
LibJS: Remove a few superfluous exception checks
...
We don't need to check for exceptions when defining properties on an
array we literally created ourselves a few lines earlier.
2020-07-11 18:38:51 +02:00
Tom
1c1ab71692
WindowServer/LibGUI: Add default menu items and allow default action for context menu
...
By specifying an optional Action for Menu::popup an application
can specify what item should be displayed as a default item.
2020-07-11 11:45:49 +02:00
Kevin Meyer
7b5ffe67cf
LibWeb: Check if layout node is still present after dispatch_event
...
Fixes https://github.com/SerenityOS/serenity/issues/2638
Dispatching an event can change the document. Therefore another check
for the layout_root needs to be done.
2020-07-11 11:34:59 +02:00
Kevin Meyer
821043d798
LibWeb: Remove some unnecessary casts
2020-07-11 11:34:59 +02:00
Kevin Meyer
d5d732cc87
LibWeb: Fix EVENT_DEBUG dump compilation
2020-07-11 11:34:59 +02:00
Peter Elliott
7a27fa3df8
LibC: Implement tcflush(3)
2020-07-11 11:33:33 +02:00
Andreas Kling
0cf7fd5268
UserspaceEmulator+LibX86: Implement all the forms of XOR
...
And they're all generic, which will make it easy to support more ops.
2020-07-10 20:20:27 +02:00
Andreas Kling
45bfdd0063
LibX86: Add a templatized way to resolve ModR/M memory references
...
Hopefully this will be flexible enough for our SoftCPU. :^)
2020-07-10 20:20:27 +02:00
Andreas Kling
3a1cf9505d
LibX86: Store Instruction's segment prefix as Optional<SegmentRegister>
...
Instead of having a dedicated enum value for the empty state.
2020-07-10 20:20:27 +02:00
thankyouverycool
deceb91c48
FileManager: Show an open folder icon for the selected directory
...
The currently selected directory now displays an open folder icon
in the directory tree.
2020-07-10 19:44:18 +02:00
thankyouverycool
e6ddc7e022
LibGUI: Add missing on_toggle hook to TreeView
...
Alt+arrow toggles are now captured.
2020-07-10 19:44:18 +02:00
Matthew Olsson
119386ffb0
LibJS: Add tests for symbol object integration
2020-07-09 23:33:00 +02:00
Matthew Olsson
7a1d485b19
LibJS: Integrate Symbols into objects as valid keys
...
This allows objects properties to be created for symbol keys in addition
to just plain strings/numbers
2020-07-09 23:33:00 +02:00
Matthew Olsson
9783a4936c
LibJS: Add test for well-known symbols
2020-07-09 23:29:28 +02:00
Matthew Olsson
ffb569fd5d
LibJS: Uncomment remaining symbol tests
2020-07-09 23:29:28 +02:00
Matthew Olsson
d9db6bec42
LibJS: Move global symbol map from SymbolObject to Interpreter
...
This allows different instances of the Interpreter to have their own
global symbols. Also makes Symbol non-copyable and non-moveable.
2020-07-09 23:29:28 +02:00
Andreas Kling
4d8683b632
UserspaceEmulator: Tidy up SoftCPU's general purpose registers
...
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-09 23:27:50 +02:00
Tom
6751d03ea7
LibCore: Add register_signal and unregister_signal to EventLoop
...
This allows safer asynchronous handling of signals. Signals are
dispatched with highest priority.
2020-07-09 21:58:07 +02:00
Tom
df54229954
LibVT: Set scrollbar page size
2020-07-09 21:56:45 +02:00
Tom
fc568ea13a
LibGUI: Make scrollbar thumb size relative to content size
...
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-09 21:56:45 +02:00
Tom
d4b87fb18e
LibGUI: Implement IconView auto-scrolling when trying to select items out of 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-09 21:51:01 +02:00
Kevin Meyer
5b6920a18a
LibWeb: Don't call did_layout in non-main frame documents
...
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-08 23:45:12 +02:00
Kevin Meyer
a5b8cc2d0b
LibWeb: Add type for FrameLoader::load
...
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-08 23:45:12 +02:00
Nico Weber
6105f063cb
LibLine: Add ctrl-t shortcut for transposing characters
2020-07-07 23:13:25 +02:00
Linus Groh
899dcba158
WindowServer+LibGUI: Add "wait" cursor
2020-07-07 23:11:39 +02:00
Linus Groh
b8a8e417f1
WindowServer+LibGUI: Add "help" cursor
2020-07-07 23:11:39 +02:00
Linus Groh
b86a59ec05
LibGUI: Use Resize{Column,Row} cursor for Splitter and AbstractTableView
2020-07-07 23:11:39 +02:00
Linus Groh
62866208ee
WindowServer+LibGUI: Add "resize row/column" cursors
2020-07-07 23:11:39 +02:00
Andreas Kling
6440e59ead
LibX86: Expose some more things on X86::Instruction
2020-07-07 22:44:58 +02:00
Andreas Kling
7ab2a4dde7
LibX86: Add an abstract X86::Interpreter class
...
This abstract class has a pure virtual member function for all of the
X86 instructions. This can be used to implement.. something. :^)
2020-07-07 22:44:58 +02:00
Nico Weber
ad8e784938
LibEdit: Make Ctrl-d on an empty line mean EOD again
2020-07-07 18:43:09 +02:00
Andreas Kling
5975a425bd
LibWeb: Turn floated display:inline elements into block-level elements
2020-07-07 17:10:12 +02:00
thankyouverycool
cbf3c2caeb
LibGUI: Add on_toggle function to TreeView
...
This adds a function to expose the index and open/close state
of expandible nodes in TreeView.
2020-07-07 13:38:35 +02:00
Andreas Kling
92374fc942
LibWeb: Make context menus work in WebContentView
...
As usual, this was just a matter of plumbing the PageClient calls from
the WebContent side over to the WebContentView side. :^)
2020-07-07 12:24:29 +02:00
Kevin Meyer
7974279a5d
LibWeb: Fix PageView::url() null-check
2020-07-07 11:07:44 +02:00
Matthew Olsson
93ebd320ef
LibJS: Object.preventExtensions should allow property modfication
...
Existing properties on a non-extensible object should be changable and
deletable.
2020-07-07 10:47:10 +02:00
Andrew Kaster
f96b827990
Kernel+LibELF: Expose ELF Auxiliary Vector to Userspace
...
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-07 10:38:54 +02:00