Callum Law
e260ba54e0
LibWeb: Propagate NaN in CSS clamp function
...
Gains us 10 WPT tests.
2025-08-08 11:43:49 +01:00
Callum Law
4ba54a7a1c
LibWeb: Handle NaN and Infinite values in CSS round function
...
Gains us 10 WPT tests
2025-08-08 11:43:49 +01:00
Callum Law
376b992f0e
LibWeb: Handle NaN within CSS min and max functions
...
Gains us 10 WPT tests
2025-08-08 11:43:49 +01:00
Callum Law
9e1ace28a6
LibWeb: Import WPT tests related to handling non-finite values in calcs
2025-08-08 11:43:49 +01:00
Kenneth Myhra
1b350596fb
LibWeb: Align Fetching chapter's "To fetch" with latest spec changes
2025-08-08 11:12:53 +01:00
Kenneth Myhra
593ee1ae0a
LibWeb: Implement AO populate request from client
2025-08-08 11:12:53 +01:00
Kenneth Myhra
70cafc558e
LibWeb: Replace request's "window" with "traversable for user prompts"
...
User prompts are not tied to specific Windows or the client's Window.
They are tied to a traversable navigable (browser tab).
2025-08-08 11:12:53 +01:00
Kenneth Myhra
681e4e5d01
LibWeb: Define stream variable before using it
...
This is an editoral change from the fetch spec. Since we already defined
the stream before it being used this only re-numbers the spec steps.
It also corrects a minor typo ('followings' to 'following') which was
corrected in the same editoral spec change.
2025-08-08 11:12:53 +01:00
Callum Law
a1037e28d6
LibWeb: Improve support for CalculatedStyleValue in scale
...
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / 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
- Properly serialize CalculatedStyleValue components
- Allow CSV to be the 'Z' component in interpolated value
Gains us 52 WPT tests
2025-08-08 09:45:00 +01:00
Callum Law
39fdcbc526
LibWeb: Improve support for CalculatedStyleValue in translate
...
- Omit calcs that are resolved to `0px` from the serialized value
- Allow CSV to be the 'Z' component in interpolated value.
- Allow calcs with mixed percentages in the first two arguments.
To achieve the third item above the concept of a "special" value parsing
context has been added - this will also be useful for instance for
different arguments of color functions having different contexts.
Gains us 23 WPT tests
2025-08-08 09:45:00 +01:00
Callum Law
18d65b014f
LibWeb: Add formatter for Web::CSS::ValueType
...
Currently unused but I found it useful for debugging
2025-08-08 09:45:00 +01:00
Callum Law
9bfd46ce31
LibWeb: Add formatter for Web::CSS::CSSStyleValue::Type
...
Currently unused but I found it useful for debugging
2025-08-08 09:45:00 +01:00
Callum Law
56b6987fd0
LibWeb: Use a macro for repetitive code in CSSStyleValue.{h,cpp}
...
This reduces the number of places we need to touch when creating a new
type
2025-08-08 09:45:00 +01:00
Edwin Hoksberg
ef9a3a2327
LibWeb: Import serial idl harness wpt tests
2025-08-08 10:23:17 +02:00
Edwin Hoksberg
1be31c103f
LibWeb: Stub WebSerial API
2025-08-08 10:23:17 +02:00
Andreas Kling
34ec33d71c
LibWeb: Don't treat SVG "use clone" removals as "use source" removals
...
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / 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
We were failing to discriminate between DOM removals happening to SVG
elements cloned as part of an SVG use element instantiation.
When a "use source" element is removed, all clones of that source must
be updated to reflect the change. But when a "use clone" element is
removed, that's fine.
This was causing the surprising disappearance of use element subtrees,
seen for example on https://cal.com/
2025-08-07 22:15:36 +02:00
Andreas Kling
42802b0785
LibWeb: SVG use element shadow roots should be closed, not open
...
This goes against the spec but matches all other browser engines.
2025-08-07 22:15:36 +02:00
Andreas Kling
1402c143a9
LibWeb: Add Internals.getShadowRoot(element)
...
This lets you access closed shadow roots from JavaScript, even though
they're not normally accessible to JavaScript. This can be used to poke
into UA shadow roots in tests.
2025-08-07 22:15:36 +02:00
Luke Wilde
59162342e6
LibWeb: Set LinkProcessingOptions' cryptographic_nonce_metadata
...
Fixes external CSS being blocked on https://beatsaver.com/ , where they
have a `style-src` directive set to `'self' 'nonce-[value]'`
Relates to #5643 , but does not make the website load.
2025-08-07 19:26:57 +02:00
Luke Wilde
1d57df6e26
LibWeb/CSP: Implement the sandbox directive
2025-08-07 19:24:39 +02:00
Luke Wilde
40bb50ac60
LibWeb: Parse and propagate the iframe sandbox attribute
2025-08-07 19:24:39 +02:00
Luke Wilde
a5e2fd2e12
LibWeb/CSP: Implement the webrtc directive
2025-08-07 19:24:39 +02:00
Luke Wilde
855e17529c
LibWeb/CSP: Implement the report-to directive
...
This doesn't do anything by itself, the report a violation algorithm
will handle this directive itself.
2025-08-07 19:24:39 +02:00
Luke Wilde
ed0230bb93
LibWeb/CSP: Implement the report-uri directive
...
This doesn't do anything by itself, the report a violation algorithm
will handle this directive itself.
2025-08-07 19:24:39 +02:00
Jelle Raaijmakers
85ad99b98a
LibWeb: Implement <feMerge>
SVG filter
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / 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
2025-08-07 16:41:12 +02:00
Jelle Raaijmakers
1377dba7af
LibWeb: Implement <feOffset>
SVG filter
2025-08-07 16:41:12 +02:00
Sam Atkins
89b59cb5c3
LibWeb/CSS: Implement env() as an arbitrary substitution function
...
Technically, env() should not be an ASF. (😱 ) This is why some tests
still fail - env() as specced is expected to have its syntax checked
fully at parse-time, whereas ASFs are not properly syntax-checked until
later. However, I think this approach was worth doing for a few reasons:
- env() behaves like an ASF otherwise. (It is replaced with a set of
arbitrary component-values that are not known until computed-value
time.)
- env() was defined before the ASF concept existed, so I strongly
suspect it will be updated in the future to match that definition,
with a couple of adjustments. (eg, env() is allowed in some extra
places compared to var() and attr().)
- This was much quicker and easier to implement (under 3 hours in total)
compared to the greater amount of work to implement a whole separate
system just for env().
- Most of these tests are marked tentative, and the spec definition of
env() is still somewhat in flux, so failing some is not a huge deal.
If in the future I turn out to be wrong on this, we can convert it to
its own special thing.
2025-08-07 16:38:29 +02:00
Sam Atkins
22e00451b9
LibWeb/DOM: Add ability to query Document for environment variables
...
Currently this returns them in ComponentValue form, as that's what's
needed by env().
2025-08-07 16:38:29 +02:00
Sam Atkins
7b30c94fcf
LibWeb+CodeGenerators: Generate EnvironmentVariable enum and functions
2025-08-07 16:38:29 +02:00
Sam Atkins
b03e829a49
Tests: Import WPT tests for CSS env()
2025-08-07 16:38:29 +02:00
Sam Atkins
5808eff1f4
LibWeb/CSS: Hyphenate request-url-modifier names
...
Corresponds to e1bf92d49a
Also update our imported WPT tests.
2025-08-07 13:38:25 +01:00
Sam Atkins
24f4356c3f
LibWeb/CSS: Specify behavior for OOB CSSStyleDeclaration::item()
...
Corresponds to 56ed462ccd
We already did the right thing.
2025-08-07 14:29:17 +02:00
zac
6602fa5d15
UI/Qt: Add Alt+D as a shortcut to focus the location editor
2025-08-07 07:01:22 -04:00
Timothy Flynn
f3c3213b06
Meta: Add a ladybird.py command to profile a process
...
Works basically the same as the debug command. This command uses
callgrind for now, which matches LibWebView/HelperProcess.cpp.
2025-08-07 06:57:26 -04:00
Timothy Flynn
11f4b9c6ae
Meta: Resolve pyright warnings in ladybird.py and helpers
2025-08-07 06:57:26 -04:00
Aliaksandr Kalenik
564003b22a
LibWeb: Mark width & height of grid item definite before inside layout
...
Lint Code / lint (push) Waiting to run
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
FFC expects parent formatting context to mark size as definite if that's
the case, because otherwise it cannot figure cross line size correctly.
Fixes incorrect alignment when FFC is nested in GFC.
Progress on https://web.telegram.org/a/ layout.
2025-08-07 09:34:16 +02:00
EvoPot
4786eaf6be
Documentation: Fix capitalization of "Windows"
2025-08-06 21:17:49 -06:00
Jelle Raaijmakers
7162c73b6c
LibWeb: Add SVGUnitTypes
...
The empty `.h` is required since our generated bindings currently always
try to include one.
2025-08-06 23:05:56 -04:00
ayeteadoe
688d0ada97
Tests/LibCore: Enable TestLibCoreStream in Windows CI
2025-08-06 20:24:38 -06:00
ayeteadoe
e01a95f6cd
LibCore: Implement UDPSocket::connect() on Windows
2025-08-06 20:24:38 -06:00
ayeteadoe
ba15348d56
LibCore: Implement PosixSocketHelper::pending_bytes() on Windows
2025-08-06 20:24:38 -06:00
ayeteadoe
4d68d28e16
LibCore: Implement PosixSocketHelper::set_receive_timeout() on Windows
2025-08-06 20:24:38 -06:00
ayeteadoe
79594279da
LibCore: Make TCPServer::set_blocking() unsupported on Windows
...
Winsock2 doesn't seem to support blocking sockets, or at least
not in the naiive way.
2025-08-06 20:24:38 -06:00
ayeteadoe
d236e1a509
LibCore: Implement LocalServer on Windows
2025-08-06 20:24:38 -06:00
ayeteadoe
6e7565766d
LibCore: Implement LocalSocket::connect() on Windows
2025-08-06 20:24:38 -06:00
ayeteadoe
904f736b95
LibCore: Implement UDPServer on Windows
2025-08-06 20:24:38 -06:00
ayeteadoe
cc3cabc768
LibCore: Implement TCPServer on Windows
2025-08-06 20:24:38 -06:00
ayeteadoe
9d7971c111
Tests/LibCore: Enable several tests in Windows CI
...
These are the set of tests that were already building and passing
with little to no modifications required.
2025-08-06 20:24:38 -06:00
Timothy Flynn
cd15b1a2c9
LibJS: Use AK's number parsing over stroul in JS::Token
...
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / 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 gives us a drop-in replacement for UTF-16 strings.
2025-08-07 02:05:50 +02:00
Timothy Flynn
20995c620f
LibJS: Remove MarkupGenerator
...
It is unused.
2025-08-07 02:05:50 +02:00