Dan Klishch
19206f75ee
DynamicLoader: Ensure that optimizer won't interfere with early init
2024-04-26 19:08:13 -06:00
Sönke Holz
01f1d2daaa
Kernel/riscv64: Don't clobber the boot info argument in enable_paging
...
"register asm" variables don't preserve the register value, so the call
to calculate_physical_to_link_time_address_offset in the asm input
operands is allowed to clobber a0.
2024-04-26 15:01:31 -06:00
Tim Ledbetter
1127fa1e01
IDLGenerators: Set namespace object prototype to Object.prototype
...
Previously, namespace objects were constructed with no prototype, so
calling methods like `toString()` on them would unexpectedly throw an
exception.
2024-04-26 20:02:42 +02:00
Tim Ledbetter
dda730c46b
LibWeb: Exclude [Global] interfaces from legacy platform object method
...
Previously, [Global] interfaces were not excluded from the
`internal_own_property_keys()` call. This caused a crash when iterating
over the properties of the Window object.
2024-04-26 20:02:21 +02:00
Andreas Kling
ff9ae5ff40
LibWeb: Bring document & browsing context creation in line with spec
...
We had drifted away from the spec steps a little bit here. This patch
brings us back in line and knocks off some FIXMEs in the process.
2024-04-26 20:01:58 +02:00
Andreas Kling
a5c62b953f
LibWeb: Take care of some FIXMEs in auxiliary browsing context creation
2024-04-26 20:01:58 +02:00
Andreas Kling
0ebfc0a4c4
LibWeb: Move event handling & cursor from BrowsingContext to Navigable
...
This was a long standing FIXME since the introduction of navigables.
2024-04-26 20:01:58 +02:00
Andreas Kling
9cd4a65071
LibWeb: Move TraversableNavigable::m_page up to Navigable
...
This will allow anyone who has a Navigable to reach the Page.
2024-04-26 20:01:58 +02:00
Aliaksandr Kalenik
dc4192c149
LibWeb: Remove CSS transform from InlinePaintable's clip rectangle
...
Fixes bug when CSS transform is applied twice to clip rect:
- While calculating absolute clip rectangles in `refresh_clip_state()`
- While executing `PushStackingContext` painting command.
Duplicated transform is already removed for PaintableBox and this change
adds this for InlinePaintable.
2024-04-26 18:40:45 +02:00
Timothy Flynn
13422b5116
LibWeb: Remove OOM error propagation from HTMLMediaElement (and friends)
2024-04-26 12:21:57 -04:00
Timothy Flynn
dd16ea87c3
LibWeb: Make HTMLMediaElement::set_decoder_error infallible
...
This used to propagate an OOM error, but that was removed, and this
method can no longer throw.
2024-04-26 12:21:57 -04:00
MINAqwq
7c54a32870
LibWeb: Set decoder error when decoding fails
2024-04-26 11:48:48 -04:00
Ali Mohammad Pur
2f10243fa2
LibTLS: Ignore empty reads from underlying socket while connecting
...
We should not expect the server to respond immediately after connecting,
this can manifest as random requests failing (e.g. on https://null.com ).
2024-04-26 15:53:00 +02:00
Timothy Flynn
6f90495512
ImageDecoder: Add the 'thread' pledge for background actions
2024-04-26 09:29:02 -04:00
Timothy Flynn
ab602cfc2c
Kernel: Colorize log message for capabilities that have not been pledged
...
The log message can be hard to spot in a sea of debug messages. Colorize
it to make the message more immediately pop out.
2024-04-26 09:29:02 -04:00
Tim Ledbetter
4d9b6645d7
LibIDL: Remove unused required_imported_paths field from Interface
2024-04-26 08:00:32 -04:00
Tim Ledbetter
3eb07a9b8b
IDLGenerators: Don't duplicate include statements for each import
...
Previously, all `#import` statements generated two identical includes
in the generated C++ source code.
2024-04-26 08:00:32 -04:00
Tim Ledbetter
fcf1a2a287
LibWeb: Remove data from WebAssembly cache when namespace is finalized
...
Previously, the cache held on to data for objects that had already been
garbage collected.
2024-04-26 13:56:39 +02:00
Tim Ledbetter
ddd1ac1e36
LibWeb: Add a custom extended attribute for namespace-level finalization
...
This change adds the `WithFinalizer` extended attribute, which allows
namespaces to call a custom function at the point they are finalized.
2024-04-26 13:56:39 +02:00
Tim Ledbetter
6d4b8bde55
LibWeb: Isolate WebAssembly cache by global object
...
This change moves WebAssembly related data that was previously globally
accessible into the `WebAssemblyCache` object and creates one of these
per global object. This ensures that WebAssembly data cannot be
accessed across realms.
2024-04-26 13:56:39 +02:00
Tim Ledbetter
5e75afd549
LibWeb: Fix typo in extended WithGCVisitor
extended attribute name
2024-04-26 13:56:39 +02:00
Shannon Booth
baaaa0008e
LibWeb: Look for first ID _or_ name in HTMLCollection::named_item
...
Previously we would look for a matching ID, and then for a matching
name. If there was an element in the collection which had a matching ID
as well as an element with a matching name, we would always return the
element with a matching ID irrespective of what order that element was
in.
2024-04-26 07:44:01 -04:00
Andreas Kling
e6c0b4631f
WebContent: Send tooltip screen location in device coordinate space
...
This makes tooltips pop up in the right location when zoomed in and
using the Qt chrome.
2024-04-26 10:42:18 +02:00
Andreas Kling
a4625e3943
LibWeb: Only react to link element attribute changes when BC connected
...
Link elements that aren't "browsing-context connected" should not
trigger a resource fetch when their attributes change.
This fixes an issue where we'd waste time by loading every style sheet
twice! :^)
2024-04-26 10:40:43 +02:00
Idan Horowitz
7339409575
Kernel: Properly initialize NVMe admin queue depth
...
We were reading the value instead of setting it (as required by the
specification). This worked only when we booted with a bootloader which
initialized NVMe before us.
2024-04-26 09:52:56 +02:00
Idan Horowitz
8a86218e25
Meta: Support debugging the riscv64 kernel
2024-04-26 09:52:56 +02:00
Idan Horowitz
a2b2209ea5
Kernel: Fix definition of CAP_TO_MASK
...
The default type for integer literals is signed int, so we were
accidentally smearing those bits to the upper 32 bit of the result.
This resulted in extremely unreasonable timeouts.
2024-04-26 09:52:56 +02:00
Idan Horowitz
904ebb74a9
Kernel: Use NVME polling by default on RISC-V
...
Since we don't support the RISC-V PLIC yet, we can't actually use
interrupt-based NVME handling.
2024-04-26 09:52:56 +02:00
Idan Horowitz
543fc4d0fc
Kernel: Support automatic configuration of PCI bridges based on the FDT
...
This let's us actually boot with RISC-V.
2024-04-26 09:52:56 +02:00
Idan Horowitz
08d4b231e1
Kernel: Take EnumerableDeviceIdentifier by const ref instead of by value
...
It's 48 bytes.
2024-04-26 09:52:56 +02:00
Idan Horowitz
6d255fb92b
Meta: Enable graphics by default on RISCV64
2024-04-26 09:52:56 +02:00
Idan Horowitz
f6ae9f8a6d
Kernel: Reset enumerated buses bitmap before enumerating PCI devices
...
This allows this method to be used more than once.
2024-04-26 09:52:56 +02:00
Idan Horowitz
95aff1cf13
Kernel: Remove unused IterationDecision in enumerate_attached_devices
2024-04-26 09:52:56 +02:00
Idan Horowitz
e350d3b2c6
Kernel: Use PCI:Class:ID::Bridge instead of magic value
2024-04-26 09:52:56 +02:00
Idan Horowitz
519be6e626
Kernel: Use correctly-sized read when checking PCI host bridge function
...
We were accidentally doing a 16-bit read instead of an 8-bit read,
meaning we would also read the 'CACHE_LINE_SIZE' field immediately
following it, and never actually continue.
2024-04-26 09:52:56 +02:00
Timothy Flynn
c4750f6eec
LibWeb: Run page activation behavior when skipping context menu events
...
We partially supported this feature, but not enough for the chrome's
context menu to open. We now propagate the event back to the chrome.
2024-04-26 09:50:48 +02:00
Timothy Flynn
f6407276f7
LibWeb: Stop the video decoder thread when the video element is GC'd
...
Otherwise, the thread will continue to run and access the media data
buffer, which will have been freed.
The test here is a bit strange, but the issue would only consistently
repro after several GC runs.
2024-04-26 09:49:11 +02:00
Timothy Flynn
f13ccb9a61
LibWeb: Add missing call to Base::finalize() in HTMLMediaElement
2024-04-26 09:49:11 +02:00
Timothy Flynn
84fd37704e
LibVideo: Allow PlaybackManager owners to terminate the decoder thread
...
This will be needed by LibWeb to explicitly stop the decoder thread just
before the media element is garbage collected.
2024-04-26 09:49:11 +02:00
Timothy Flynn
8588008d42
Ladybird: Use RequestServer for networking by default
...
This really only affects headless-browser when it is linked with Qt. In
that case, it currently uses Qt networking by default and does not have
a flag to use RequestServer instead. Change the default to use RS so it
can undergo sanitized testing in CI.
2024-04-26 09:48:20 +02:00
Andrew Kaster
ce9eed918f
ImageDecoder: Schedule decode jobs on the LibThreading background thread
...
This allows the ImageDecoder service to handle new IPC requests while
decoding in parallel.
2024-04-26 09:41:24 +02:00
Andrew Kaster
e16bdb4a3c
LibThreading: Add a way to cancel and join the background thread
...
This allows processes using BackgroundAction to actually exit when all
their threads have exited.
2024-04-26 09:41:24 +02:00
Shannon Booth
0c8a98ac94
LibWeb: Begin implementing the interface for AudioBuffer
...
Implement the constructor and getChannelData function, working towards
the functionality that we need in order to implement
OfflineAudioContext.
2024-04-25 19:26:19 -04:00
Shannon Booth
5cb6d495bb
LibWeb: Implement verification of 'nominal' audio options
...
The spec doesn't tell us the exact value to use, but a minumum & maximum
range of supported values. Just to be consistent with another browser,
we follow the values that firefox appears to support from testing the
interface on my machine.
This function will be used in the AudioBuffer constructor, but is
defined in the spec as part of BaseAudioContext.
2024-04-25 19:26:19 -04:00
Shannon Booth
46ec3681a4
LibWeb: Verify document is fully ready in AudioContext
...
This was just a trival FIXME to resolve as I was in the area.
2024-04-25 19:26:19 -04:00
Shannon Booth
9abce21435
LibWeb: Add missing CellAllocator.h include for Buffers.h
...
My clangd was (rightly) complaining that this include was missing.
2024-04-25 19:26:19 -04:00
Nico Weber
b364a58753
LibGfx/JPEG2000: Read COC marker segments, both in main and tile headers
...
Not yet used for anything.
2024-04-25 09:00:46 -04:00
Nico Weber
8eb3d436e6
LibGfx/JPEG2000: Extract CodingStyleParameters
...
This is the data shared between COD and COC marker segments.
No behavior change.
2024-04-25 09:00:46 -04:00
Nico Weber
3735f2cbed
LibGfx/JPEG2000: Read COD on tile headers too
...
I haven't seen this in the wild yet, but it is allowed per spec
and easy to do.
2024-04-25 09:00:46 -04:00
goldenzach
65eb7699f4
LibWeb: Resolve vertical padding of inline elements
2024-04-25 12:45:39 +02:00