Timothy Flynn
874e094ed8
LibWeb: Allow moving document load event delayers
...
This allows us to store lists of delayers.
2025-05-22 17:44:40 -04:00
Lion Kortlepel
900500c0b3
LibWeb: Remove obsolete font-style Keyword handling
...
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
`Parser::parse_font_style_value()` only produces
FontStyleStyleValues now, so we no longer need this
branch.
2025-05-22 17:39:05 +01:00
Lion Kortlepel
b1ee539e9d
LibWeb: Fix font-style to slope conversion
...
In a recent refactor of font styles, the new FontStyleStyleValue was
introduced; however, the `to_font_slope()` function was not changed to
understand this new type. When it tries to convert such a font style to
a keyword, it fails. We then rendered the wrong font-style.
2025-05-22 17:39:05 +01:00
Timothy Flynn
d00d49ba2f
Meta+Toolchain: Extract BuildVcpkg to an importable function
...
This lets ladybird.py import it properly, instead of invoking BuildVcpkg
main().
2025-05-22 12:21:24 -04:00
Timothy Flynn
8d4ac42205
Meta: Always invoke BuildVcpkg from ladybird.py's build command
...
We were previously only invoking it if the Build directory didn't exist.
We need to always invoke it to handle vcpkg baseline updates.
2025-05-22 12:21:24 -04:00
Callum Law
64f09b520d
LibWeb: Be less aggressive in marking elements as not being named
...
When an element's ID is removed we only want to remove it from
`m_potentially_named_elements` if it is not also considered a
potentially named element due to it's name content attribute.
2025-05-22 16:56:02 +02:00
Timothy Flynn
2f9957c618
Everywhere: Format all python files with black
2025-05-22 16:21:42 +02:00
Timothy Flynn
9e8336c04f
Meta: Lint python files with black
...
It's the industry standard nowadays. This also lets us add a flag to the
lint-python.sh script to overwrite our python files in place.
2025-05-22 16:21:42 +02:00
Tim Ledbetter
fe99c1fa7c
LibCore: Increase MAX_LOCAL_SOCKET_TRANSFER_FDS
...
It is currently possible to hit this limit on pages with large numbers
of images. This temporary workaround prevents some WPT tests with large
numbers of images from failing.
2025-05-22 08:00:01 -04:00
Gingeh
71222df4c4
LibWeb: Update button activation behaviour to match spec
...
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
See: https://github.com/whatwg/html/pull/11248
See: https://github.com/whatwg/html/pull/11325
2025-05-22 07:55:34 +01:00
Gingeh
f1eaecc630
LibWeb: Escape "<" and ">" when serializing attribute values
...
See https://github.com/whatwg/html/pull/6362
2025-05-22 07:55:34 +01:00
Gingeh
fbc56f74bd
LibWeb: Move popover invoker reset later
...
See https://github.com/whatwg/html/pull/11304
2025-05-22 07:55:34 +01:00
Ali Mohammad Pur
a3b913bf91
Tests: Import the call-indirect wpt wasm test
...
This found some broken wasm-js implementations, so let's make sure it
doesn't break again.
2025-05-22 07:35:58 +01:00
Ali Mohammad Pur
83995ada1f
LibWasm: Quit early in memory_fill if store_to_memory traps
...
We shouldn't try to run the next 'instruction' if we trap.
Unbreaks the memory-fill test in wpt.
2025-05-22 07:35:58 +01:00
Ali Mohammad Pur
bfc1ebb2d4
LibWasm: Disable spammy 'memory access oob' debug prints
2025-05-22 07:35:58 +01:00
Ali Mohammad Pur
d79d5b70a5
LibWasm: Validate indirect calls at runtime
...
This is required by the spec, and also unbreaks all of the call-indirect
wpt tests.
2025-05-22 07:35:58 +01:00
Ali Mohammad Pur
39b637a446
LibWasm+LibWeb: Throw a js stack-overflow error if wasm stack overflows
...
Follows the spec.
2025-05-22 07:35:58 +01:00
Timothy Flynn
9ae85e5c68
Meta: Avoid manual formation of user-variables.cmake path
...
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
We're using python specifically to be platform-independent.
2025-05-21 16:55:27 -06:00
Timothy Flynn
5b830b4c05
Meta: Be a bit less aggressive with newlines in list extensions
2025-05-21 16:55:27 -06:00
Timothy Flynn
bac61926b2
Meta: Use fewer abbreviated variable names in ladybird.py
2025-05-21 16:55:27 -06:00
Timothy Flynn
b54f273770
Meta: Ignore pyright warning for dynamic BuildVcpkg import
...
There are now zero pyright warnings.
2025-05-21 16:55:27 -06:00
Timothy Flynn
6a1b3f740c
Meta: Avoid double-access of LADYBIRD_SOURCE_DIR environment variable
...
The `ensure_ladybird_source_dir` function returns the source directory.
Let's just use it. This silences a pyright warning.
2025-05-21 16:55:27 -06:00
Timothy Flynn
23a95cfb9a
Meta: Add missing type hints to ladybird.py
...
This enables significantly better LSP integration.
2025-05-21 16:55:27 -06:00
Timothy Flynn
9d3d0c4874
Meta: Sprinkle some newlines into ladybird.py
...
Long functions without newlines between logical blocks of code get hard
to read for me after a while.
2025-05-21 16:55:27 -06:00
Timothy Flynn
6862985b08
Meta: Do not conflate build
and run
arguments
...
The previous commit preserved existing behavior from `master`, but made
it clear that the script was trying to use the `run` arguments in the
build step. We currently cannot specify both build-time and run-time
arguments, so only pass the positional arguments to the run step.
2025-05-21 16:55:27 -06:00
Timothy Flynn
620a2b7598
Meta: Do not pass arguments around as kwargs
in ladybird.py
...
Use proper function arguments instead.
2025-05-21 16:55:27 -06:00
Timothy Flynn
16feb0b979
Meta: Move ladybird.py imports to the top of the file
...
There's no measurable benefit to hiding these in functions, even if they
are only used once (or not at all). Only the BuildVcpkg import is left
alone, as that function does some sys.path manipulation first.
2025-05-21 16:55:27 -06:00
Timothy Flynn
f87a90b67b
Meta: Remove underscore prefix from functions in ladybird.py
...
These are meant to indicate private functions by convention, and while
we can argue these functions are "private" to this file, let's err on
the side of readablilty over every single function being prefixed.
2025-05-21 16:55:27 -06:00
Timothy Flynn
ec863a6d8b
Meta: Format ladybird.py with black
...
We require pep8 conformance via flake8 in CI, and flake8 seems happy
with this patch. In the future, we should enforce use of black in CI
as well.
Formatted with:
black --line-length 120 ./Meta/ladybird.py
2025-05-21 16:55:27 -06:00
Andrew Kaster
811d53d295
CI: Add nightly Windows CI job
...
This job uses the windows_ci_ninja preset to build just the
components and unit tests that are known to work with ClangCL on the
amd64-pc-windows-msvc target triple.
As a nightly job, its failures are non-blocking for any PRs, though
they should be fixed eventually or the job will get turned off by
email-annoyed maintainers.
2025-05-21 15:57:59 -06:00
Timothy Flynn
9f3526b080
LibWeb: Handle non-OK network responses in <object> elements
...
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
We were previously only testing for network errors, which includes e.g.
DNS resolution and connection errors. It does not include e.g. HTTP 404
responses, which is exercised by Acid 2.
2025-05-21 12:13:20 -06:00
Ashton
fc204c8732
Meta: Add addr2line command to ladybird.py
2025-05-21 11:35:20 -06:00
Ashton
061a7f766c
Meta: Add rebuild command to ladybird.py
2025-05-21 11:35:20 -06:00
Ashton
56fd109252
Meta: Add clean command to ladybird.py
2025-05-21 11:35:20 -06:00
Ashton
bfc0715455
Meta: Add vcpkg command to ladybird.py
2025-05-21 11:35:20 -06:00
Ashton
08d11b9fba
Meta: Add debug command to ladybird.py
2025-05-21 11:35:20 -06:00
Ashton
5602d3cdf1
Meta: Add install command to ladybird.py
2025-05-21 11:35:20 -06:00
Ashton
73159fe2ce
Meta: Add run command to ladybird.py
2025-05-21 11:35:20 -06:00
Ashton
c51abfb2ca
Meta: Add test command to ladybird.py
2025-05-21 11:35:20 -06:00
ayeteadoe
c9624d5118
Meta: Add build command to ladybird.py
2025-05-21 11:35:20 -06:00
Noah
85842c1739
LibWeb: Stub out several methods for ElementInternals
...
This begins implementation on form-associated custom elements.
This fixes a few WPT tests which I'm importing.
Co-authored-by: Sam Atkins <sam@ladybird.org>
2025-05-21 15:28:10 +01:00
Veeti Paananen
7c4fd9f624
LibWeb/CSS: Use case insensitive tag and attribute name in ancestor hash
...
Fixes #4793 .
2025-05-21 08:54:40 -04:00
Shannon Booth
579730d861
LibWeb: Prefer using equals_ignoring_ascii_case
...
Which has an optmization if both size of the string being passed
through are FlyStrings, which actually ends up being the case
in some places during selector matching comparing attribute names.
Instead of maintaining more overloads of
Infra::is_ascii_case_insensitive_match, switch
everything over to equals_ignoring_ascii_case instead.
2025-05-21 13:45:02 +01:00
Ali Mohammad Pur
cfc241f61d
LibRegex: Make the trie rewrite optimisation maintain the alt order
...
This is required by the spec.
2025-05-21 14:28:45 +02:00
Ali Mohammad Pur
2eccd68ba5
LibRegex: Document the append_alternative optimisation a bit
2025-05-21 14:28:45 +02:00
Timothy Flynn
95fc0a8070
LibWeb: Implement TransformStream transfer
2025-05-21 06:54:44 -04:00
Timothy Flynn
cca08ad833
LibWeb: Implement WritableStream transfer
2025-05-21 06:54:44 -04:00
Timothy Flynn
312db85a84
LibWeb: Implement ReadableStream transfer
2025-05-21 06:54:44 -04:00
Timothy Flynn
7e225b496d
LibWeb: Implement transferable streams AOs
...
These AOs are common between transferable ReadableStream, WritableStream
and TransformStream objects.
2025-05-21 06:54:44 -04:00
Timothy Flynn
ee9d860ba2
LibWeb: Allow creating a MessagePort with a different primary interface
...
This is needed to transfer streams, which use message ports as the means
of transport.
2025-05-21 06:54:44 -04:00