Jelle Raaijmakers
4a6998497f
LibWeb: Don't recalculate margin box rect for preceding floats
...
We already stored that rect while building up the side data during
floating box layout. No functional changes.
2025-04-11 02:34:28 +01:00
stelar7
0a298dba27
LibWeb/IDB: Dont go back to inactive if we finished during upgrade
2025-04-10 19:12:30 -06:00
stelar7
aa4e303b9f
LibWeb/IDB: Make some debug messages more descriptive
2025-04-10 19:12:30 -06:00
stelar7
fc06d088c3
LibWeb/IDB: Implement IDBTransaction::objectStore
2025-04-10 19:12:30 -06:00
stelar7
8fcb54dada
LibWeb/IDB: Abort requests in the transactions request list
2025-04-10 19:12:30 -06:00
stelar7
a61315a68e
LibWeb/IDB: Use correct wait condition when upgrading database
2025-04-10 19:12:30 -06:00
stelar7
de640ffef4
LibWeb/IDB: Implement auto-commit for IDBTransaction
2025-04-10 19:12:30 -06:00
stelar7
da56c1b1eb
LibWeb/IDB: Implement IDBTransaction::commit
2025-04-10 19:12:30 -06:00
stelar7
b6b00acbd1
LibWeb/IDB: Implement abort and wait steps for closing a connection
2025-04-10 19:12:30 -06:00
stelar7
fc93ec135e
LibWeb/IDB: Keep track of the connection used to start a transaction
2025-04-10 19:12:30 -06:00
stelar7
d1dabb9039
LibWeb/IDB: Make close_a_database_connection take a GC::Ref
2025-04-10 19:12:30 -06:00
stelar7
7c3de67b16
LibWeb/IDB: Dont set the forced flag when aborting connection
2025-04-10 19:12:30 -06:00
stasoid
32ddeb82d6
LibURL+LibWeb: Remove leading slash when converting url to path
...
...on Windows
2025-04-10 19:04:21 -06:00
Aliaksandr Kalenik
b53694b4c0
LibIPC+LibWeb: Delete LargeMessageWrapper workaround in IPC connection
...
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (arm64, macos-15, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (x86_64, ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
Bring back 2d625f5c23
2025-04-10 23:40:02 +02:00
Tim Ledbetter
1ee56d34e7
Revert "LibIPC+LibWeb: Delete LargeMessageWrapper workaround in IPC…
...
…connection"
This reverts commit 2d625f5c23
.
2025-04-10 16:24:38 +01:00
Sam Atkins
9dbeecb73d
LibWeb: Correct some spec typos
...
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (arm64, macos-15, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (x86_64, ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
Corresponds to 285a58bf30
2025-04-10 04:01:37 +02:00
Andreas Kling
6bd2cf3195
LibWeb: Make Document::m_shadow_roots an IntrusiveList
...
This makes unregistering a ShadowRoot O(1) instead of O(n) and erases
a 2.2% item entirely from the Speedometer 2.1 profile.
2025-04-10 04:01:00 +02:00
Aliaksandr Kalenik
2d625f5c23
LibIPC+LibWeb: Delete LargeMessageWrapper workaround in IPC connection
...
It's no longer needed because TransportSocket is now capable of properly
sending large messages.
2025-04-10 01:30:08 +02:00
Andreas Kling
938b1e91fe
LibJS: Inline the fast path of Value::to_i32() and simplify to_u32()
...
The fast path of to_i32() can be neatly inlined everywhere, and we still
have to_i32_slow_case() for non-trivial conversions.
For to_u32(), it really can just be implemented as a static cast to i32!
2025-04-09 22:06:49 +02:00
stelar7
f1fba24538
LibWeb/IDB: Add ObjectStore to IDBDatabases store set
2025-04-09 11:48:49 -06:00
stelar7
1fc2d6f1af
LibWeb/IDB: Comment out infinite loop while waiting for next PR
...
Since the steps needed to avoid this loop is quite long,
adding this as a fixme for the future will make this PR easier to review
2025-04-09 11:48:49 -06:00
stelar7
6ec914c7f7
LibWeb/IDB: Add some debug output
2025-04-09 11:48:49 -06:00
stelar7
4084a127de
LibWeb/IDB: Change reference to a GC::Ref in abort_a_transaction
2025-04-09 11:48:49 -06:00
stelar7
5298ecfc94
LibWeb/IDB: Implement IDBTransaction attributes
...
This also uncovered a bug, where the transactions type was never set :^)
2025-04-09 11:48:49 -06:00
stelar7
718c805e95
LibWeb/IDB: Implement IDBObjectStore::deleteIndex
2025-04-09 11:48:49 -06:00
stelar7
fce936e05a
LibWeb/IDB: Implement IDBObjectStore::index
2025-04-09 11:48:49 -06:00
stelar7
fba7ad6969
LibWeb/IDB: Implement IDBObjectStore::indexNames
2025-04-09 11:48:49 -06:00
stelar7
3367352991
LibWeb/IDB: Implement IDBObjectStore::createIndex
2025-04-09 11:48:49 -06:00
stelar7
a235dd4300
LibWeb/IDB: Fillout IDBIndex attributes
2025-04-09 11:48:49 -06:00
stelar7
9321ad04c0
LibWeb/IDB: Add internal Index object
2025-04-09 11:48:49 -06:00
Sam Atkins
8beade51e0
LibWeb/CSS: Make it clear that StyleSheet::media() is never null
2025-04-09 18:45:57 +01:00
Sam Atkins
848a250b29
LibWeb/CSS: Mark CSSImportRule.media as nullable
...
See the linked spec issue for more details. The MediaList can be null
internally, and this was upsetting GCC as it meant our bindings code
was dereferencing a null pointer.
2025-04-09 18:45:57 +01:00
Sam Atkins
0f42d5ec3e
LibWeb/CSS: Don't resolve @import
URLs until they are used
...
The regression in the "conditional-CSSGroupingRule" test is we now fail
the "inserting an `@import`" subtests differently and the subtests
aren't independent. Specifically, we don't yet implement the checks in
`CSSRuleList::insert_a_css_rule()` that reject certain rules from being
inserted. Previously we didn't insert the `@import` rule because we
failed to parse its relative URL. Now we parse it correctly, we end up
inserting it.
2025-04-09 18:45:57 +01:00
Sam Atkins
ca0890ce16
LibWeb/CSS: Only try to fetch @import
s with a parent style sheet
...
When `CSSRuleList::remove_a_css_rule()` is called, the removed rule has
its parent style sheet set to null. We shouldn't try to fetch an import
in this case.
2025-04-09 18:45:57 +01:00
Sam Atkins
c679643391
LibWeb/CSS: Extract CSSStyleSheet's ParsingParams code into a method
...
This repeated code is a bit unwieldy.
2025-04-09 18:45:57 +01:00
Sam Atkins
1abc628cd8
LibWeb/CSS: Allow CSSImportRule's document to be null on construction
...
It's possible to parse an `@import` rule that isn't attached to a
document. We only actually need it to have one when fetching the linked
style sheet, and that should only happen when the CSSImportRule is
attached to a document. So, we can just accept a null pointer when
constructing it.
We relied on that Document to get the Realm, so pass that in as a
separate parameter.
2025-04-09 18:45:57 +01:00
Sam Atkins
a8ab4d64c4
LibWeb/DOM: Use document's URL as location for inline stylesheets
...
This is ad-hoc, and the spec doesn't seem to tell us what to actually do
here. Without this, following the spec steps for loading relative
`@import` URLs from a `<style>` tag always fails, because that uses the
parent style sheet's location as the base URL.
2025-04-09 18:45:57 +01:00
Sam Atkins
bc02e3e9a9
LibWeb/CSS: Pass location to parse_a_stylesheet()
2025-04-09 18:45:57 +01:00
Sam Atkins
7216c6b050
LibWeb/CSS: Parse <url>
as a new CSS::URL type
...
Our previous approach to `<url>` had a couple of issues:
- We'd complete the URL during parsing, when we should actually keep it
as the original string until it's used.
- There's nowhere for us to store `<url-modifier>`s on a `URL::URL`.
So, `CSS::URL` is a solution to this. It holds the original URL string,
and later will also hold any modifiers. This commit parses all `<url>`s
as `CSS::URL`, but then converts it into a `URL::URL`, so no user code
is changed. These will be modified in subsequent commits.
For `@namespace`, we were never supposed to complete the URL at all, so
this makes that more correct already. However, in practice all
`@namespace`s are absolute URLs already, so this should have no
observable effects.
2025-04-09 18:45:57 +01:00
Sam Atkins
c82f4b46a2
LibWeb/CSS: Qualify uses of LibURL
...
To prepare for introducing a CSS::URL type, we need to qualify any use
of LibURL as `::URL::foo` instead of `URL::foo` so the compiler doesn't
get confused.
Many of these uses will be replaced, but I don't want to mix this in
with what will likely already be a large change.
2025-04-09 18:45:57 +01:00
Sam Atkins
da1ff1ba40
LibWeb/CSS: Store CSSStyleSheet location as a URL
...
We already have a URL when we construct these, and we want a URL later,
so avoid serializing and re-parsing it.
2025-04-09 18:45:57 +01:00
Viktor Szépe
5cc371d54c
LibWeb: Fix typos - act II
2025-04-09 15:05:20 +01:00
Sam Atkins
86be8abfbf
LibWeb/CSS: Const-correct ComputedProperties::set_computed_font_list()
...
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (arm64, macos-15, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (x86_64, ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
This shouldn't be const, and that means the two members don't have to be
mutable.
2025-04-09 15:32:04 +02:00
Aliaksandr Kalenik
db8c443392
Everywhere: Make TransportSocket non-movable
...
Instead of wrapping all non-movable members of TransportSocket in OwnPtr
to keep it movable, make TransportSocket itself non-movable and wrap it
in OwnPtr.
2025-04-09 15:27:52 +02:00
mkljczk
79c22e0d86
LibWeb: Use font with space in range for first_available_computed_font
2025-04-09 12:14:04 +01:00
Tim Ledbetter
55769be9c6
LibWeb: Don't resolve color components when serializing color functions
...
Previously, we were incorrectly replacing color components with `None`
values with 0.
2025-04-09 12:11:33 +01:00
Tim Ledbetter
a97fe3123d
LibWeb: Don't convert color functions to RGB when resolving color values
2025-04-09 12:11:33 +01:00
Tim Ledbetter
02d34dd021
LibWeb: Rename CSSColor
to ColorFunctionStyleValue
...
This gives a better idea of what the class represents.
2025-04-09 12:11:33 +01:00
Gingeh
972547635f
LibWeb: Dispatch pointer events to ::backdrop originating element
2025-04-09 12:10:42 +01:00
Gingeh
4b9f5c6fb8
LibWeb: Generate ::backdrop pseudo-elements
2025-04-09 12:10:42 +01:00