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
Timothy Flynn
298ec6a12a
AK: Ensure StringBuilder encodes U+10000 as 2 UTF-16 code units
2025-08-07 02:05:50 +02:00
Timothy Flynn
1b611fba67
AK: Ensure Utf16FlyString is hash-compatible with Utf16View/Utf16String
2025-08-07 02:05:50 +02:00
Timothy Flynn
274f8ee462
AK: Make hashing of UTF-16 strings cheaper
...
No need to iterate every byte of the string, we can iterate the code
units instead.
We must also actually record that we have cached the hash :^)
2025-08-07 02:05:50 +02:00
Timothy Flynn
73154defa8
AK: Allow implicitly constructing a Utf16View from a Utf16FlyString
...
The same already works for String and FlyString into StringView, and for
Utf16String into Utf16View.
2025-08-07 02:05:50 +02:00
Timothy Flynn
1bc80848fb
AK+LibWeb: Add a UTF-16 starts/ends with wrapper for a single code unit
2025-08-07 02:05:50 +02:00
Timothy Flynn
7082cafdbc
AK: Add a UTF-16 replacement wrapper to replace a single code unit
...
Just for convenience for interop with existing code.
2025-08-07 02:05:50 +02:00
Timothy Flynn
9e0b1bdfca
AK: Add a parameter to to_number methods to change the parsed base
...
This just forwards through to AK::parse_number.
2025-08-07 02:05:50 +02:00
Timothy Flynn
bbda6d13f7
AK: Add a Utf16View method to retrieve an iterator at a code unit offset
2025-08-07 02:05:50 +02:00
Luke Wilde
4aa355658f
LibWeb/CSP: Implement the base-uri directive
2025-08-07 00:45:31 +02:00
Luke Wilde
febe4fdb46
LibWeb/CSP: Implement the frame-ancestors directive
2025-08-07 00:45:31 +02:00