Andreas Kling
8661af9b72
Profiler: Rename from ProfileViewer :^)
2020-07-01 19:43:17 +02:00
Andreas Kling
392b055806
LibWeb: Use the StackingContext tree for hit testing
...
This makes it possible to click links that are above other content due
to stacking context order (e.g via CSS z-index.)
2020-07-01 19:10:58 +02:00
Andreas Kling
f7a900367f
LibWeb: StackingContext was sorting the wrong list of children
...
Oops, we're supposed to sort the *parent's* children, not our own.
2020-07-01 18:35:50 +02:00
Emanuele Torre
6f8042d8e5
Meta: make Meta/run.sh qgrub
work.
2020-07-01 12:53:39 +02:00
Emanuele Torre
8f071137d1
Meta: Give SERENITY_ROOT a default value in CLion/run.sh
2020-07-01 12:53:39 +02:00
Emanuele Torre
e62475d6e7
Meta: run.sh
: fix usage comments
2020-07-01 12:53:39 +02:00
Emanuele Torre
1d9791bcdf
Meta: Allow running run.sh from any where by setting SERENITY_BUILD
...
If SERENITY_BUILD is not set or empty, SERENITY_BUILD is treated as if
it was set to '.'.
`run.sh` will cd to SERENITY_BUILD before running the emulator.
Also, export SERENITY_BUILD in `Meta/CLion/run.sh` since we are using it
in `Meta/run.sh`.
Also, allow using a different bochs configuration file by setting the
SERENITY_BOCHSRC variable.
2020-07-01 12:53:39 +02:00
Emanuele Torre
aabb482d5c
Meta: move Kernel/.bochsrc => Meta/bochsrc
...
The run script is not in Kernel/ anymore, let's move `.bochsrc` in Meta/
so that it can be used with the new build system.
Also make bochs use `grub_disk_image` instead of `_disk_image`
2020-07-01 12:53:39 +02:00
Emanuele Torre
86685623a2
Meta: CLion/run.sh should be executable
2020-07-01 12:53:39 +02:00
Emanuele Torre
8233ab197f
Meta: make CLion/run.sh
use run.sh
...
We don't need to copy `run.sh` and modify it: we can just set
environment variables.
Now, we don't have to modify two files everytime we make a change to the
run.sh script.
Also make SERENITY_BUILD overridable with environment variables,why not?
2020-07-01 12:53:39 +02:00
Emanuele Torre
f7f1c3d748
Meta: use "better" syntax to set SERENITY_KERNEL_CMDLINE in run.sh :^)
...
This removes some FIXMEs.
In bash, we could avoid `shift`:
SERENITY_KERNEL_CMDLINE="${@:2}"
But let's stick to POSIX sh for now.
2020-07-01 12:53:39 +02:00
Emanuele Torre
0cee39355c
Meta: quote variables in run.sh
where it makes sense
2020-07-01 12:53:39 +02:00
Tom
5674a77bd6
PATA: Ignore interrupts that weren't generated by the disk
2020-07-01 12:07:01 +02:00
Tom
a2fd824dff
PATA: LBA48 uses 16 bit features register
2020-07-01 12:07:01 +02:00
Tom
96109e9776
Kernel: Boot all APS all the way into their own idle loop
2020-07-01 12:07:01 +02:00
Tom
691d767fba
Kernel: Block initializing the Scheduler on the APs until the BSP initialized global data
2020-07-01 12:07:01 +02:00
Tom
2a38cc9a12
Kernel: Add a quickmap region for each processor
...
Threads need to be able to concurrently quickmap things.
2020-07-01 12:07:01 +02:00
Tom
d249b5df8f
Kernel: Protect Console with SpinLock
2020-07-01 12:07:01 +02:00
Tom
16783bd14d
Kernel: Turn Thread::current and Process::current into functions
...
This allows us to query the current thread and process on a
per processor basis
2020-07-01 12:07:01 +02:00
Tom
cdc78515b6
SystemMonitor: Add a utilization graph for each processor
2020-07-01 12:07:01 +02:00
Tom
d99901660d
Kernel/LibCore: Expose processor id where a thread last ran
2020-07-01 12:07:01 +02:00
Tom
d98edb3171
Kernel: List all CPUs in /proc/cpuinfo
2020-07-01 12:07:01 +02:00
Tom
fb41d89384
Kernel: Implement software context switching and Processor structure
...
Moving certain globals into a new Processor structure for
each CPU allows us to eventually run an instance of the
scheduler on each CPU.
2020-07-01 12:07:01 +02:00
Tom
10407061d2
PATA: Avoid double-preparing for irq
2020-07-01 12:07:01 +02:00
Tom
3ac6d31b45
Kernel: Serialize debug output
2020-07-01 12:07:01 +02:00
Jack Karamanian
1da7fea602
js: Highlight Extends and Super tokens
2020-07-01 11:18:44 +02:00
Jack Karamanian
4dcdad4cc4
LibGUI: Highlight JS Extends and Super tokens
2020-07-01 11:18:44 +02:00
AnotherTest
7b72001667
Inspector: Expand and show properties in a TreeView
...
This allows the inspector to show arbitrary json structures.
2020-07-01 11:18:19 +02:00
AnotherTest
476ccb2206
LibGUI: Do not recurse into rows with invalid indices
...
That would cause the traversal to go into an infinite loop.
2020-07-01 11:18:19 +02:00
Matthew Olsson
bda39ef7ab
LibJS: Explicitly pass a "Function& new_target" to Function::construct
...
This allows the proxy handler to pass the proper new.target to construct
handlers.
2020-07-01 11:16:37 +02:00
Matthew Olsson
19411e22d0
LibJS: Add Proxy [[Call]] and [[Construct]] tests
2020-07-01 11:16:37 +02:00
Matthew Olsson
98323e19e5
LibJS: Implement Proxy [[Call]] and [[Construct]] traps
...
In order to do this, Proxy now extends Function rather than Object, and
whether or not it returns true for is_function() depends on it's
m_target.
2020-07-01 11:16:37 +02:00
Andreas Kling
ed683663cd
LibJS: Skip some Math object tests that fail on Serenity
...
Mark a bunch of these with FIXME so that someone can find them and
fix them eventually. :^)
2020-06-30 23:11:07 +02:00
Andreas Kling
dfc0a35295
Base: Tweak resource graph colors to match SystemMonitor
2020-06-30 23:11:07 +02:00
Linus Groh
1cffa28f95
Browser: Unset location bar icon on load start
...
This avoids having a stale icon from a previous page load in the
location box if a subsequently visited page doesn't trigger an icon
change.
2020-06-30 23:11:01 +02:00
Andreas Kling
14477eb565
Terminal: Bump the default ScrollLength to 4
...
This feels so much better than scrolling one line at a time. :^)
2020-06-30 18:33:09 +02:00
Benoît Lormeau
310fbe48e5
LibVT/Terminal: add a scroll length to the TerminalWidget
...
The scroll length is the number of lines by which the terminal will go
up/down when scrolling the mouse wheel once.
2020-06-30 18:24:00 +02:00
AnotherTest
f20becf71b
LibLine: Correctly display suggestions on multiline prompts
2020-06-30 18:21:44 +02:00
Sahan Fernando
0fc8931d5f
Userland: Add watch tool
2020-06-30 12:46:23 +02:00
Linus Groh
2e183e3292
LibGUI: Update FilePicker location textbox when changing directory
...
Fixes #2662 .
2020-06-30 12:20:18 +02:00
Linus Groh
5acc457c06
LibGUI: Only show FilePicker preview pane on demand
...
FilePicker::set_preview() and FilePicker::clear_preview() now show and
hide the preview pane respectively.
2020-06-30 10:43:46 +02:00
Linus Groh
6b61d4656f
LibGUI: Tweak FilePicker layout to remove bottom padding
...
This makes the "Cancel" and "Open" buttons align with the right sidebar's
bottom edge.
2020-06-30 10:26:11 +02:00
Andreas Kling
167da1fa84
Browser: Show website favicons in the location bar :^)
2020-06-29 20:35:53 +02:00
Andreas Kling
b8a50e9d89
FileManager: Show a folder icon in the location text box :^)
2020-06-29 20:35:39 +02:00
Andreas Kling
f50bc0f314
LibGUI: Add TextEditor::set_icon()
...
You can now set a 16x16 icon on a single-line TextEditor. If present,
the icon will be painted to the left of the text content.
2020-06-29 20:34:42 +02:00
Jack Karamanian
7533fd8b02
LibJS: Initial class implementation; allow super expressions in object
...
literal methods; add EnvrionmentRecord fields and methods to
LexicalEnvironment
Adding EnvrionmentRecord's fields and methods lets us throw an exception
when |this| is not initialized, which occurs when the super constructor
in a derived class has not yet been called, or when |this| has already
been initialized (the super constructor was already called).
2020-06-29 17:54:54 +02:00
Jack Karamanian
a535d58cac
LibJS: Add Object::define_accessor()
...
This is a helper function based on the getter/setter definition logic from
ObjectExpression::execute() to look up an Accessor property if it already
exists, define a new Accessor property if it doesn't exist, and set the getter or
setter function on the Accessor.
2020-06-29 17:54:54 +02:00
Jack Karamanian
949bffdc93
LibJS: Define the "constructor" property on ScriptFunction's prototype
...
and set it to the current function
2020-06-29 17:54:54 +02:00
Peter Elliott
f833362536
WindowServer: don't send resize on resolution change unless needed
...
fixes #2575
The extra ResizeEvent would be handled after on_rect_change, and would
reset the size of main_widget to what it was before the resize.
Bonus: Less unnecessary events.
2020-06-29 16:50:40 +02:00
Benoît Lormeau
951a429268
LibGUI: SpinBox: update the displayed value when set_range() clamps it
...
Consider the following: upon instanciation of a GUI::SpinBox, its
internal value and displayed value are both 0. When calling `set_min(1)`
on it (same as `set_range(1, max())`), the internal value gets clamped
to 1 correctly, but "0" is still displayed by the widget.
The displayed value is now updated accordingly to the internal value
when it gets clamped.
2020-06-29 14:57:36 +02:00