Luke Wilde
1edf7a8aa2
LibWeb/CSP: Implement URL matching algorithms
...
These are used by all the *-src attributes, to check if a given URL,
origin and redirect count matches a source list entry specified in
the *-src attribute's values, if it's allowed to.
2025-07-01 10:24:24 +12:00
Luke Wilde
38f80913a4
LibWeb: Implement Content Security Policy directive expression parser
...
This follows the implementation method that was used for the
implementation of ISO8601 parsing for Temporal in LibJS. Doing it this
way allows us to have state transactions, and thus pick out individual
parse nodes that the specification steps want to use.
2025-07-01 10:24:24 +12:00
Luke Wilde
050f984625
LibWeb/CSP: Add Keyword Sources FlyStrings
2025-07-01 10:24:24 +12:00
Andreas Kling
b3d9e39bad
LibWeb: Avoid infinite loop in HTMLElement.scrollParent
...
CI / macOS, arm64, Sanitizer_CI, Clang (push) Waiting to run
Push notes / build (push) Waiting to run
CI / Linux, x86_64, Fuzzers_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, 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
Build Dev Container Image / build (push) Has been cancelled
We were failing to actually climb up the containing block chain,
causing this API to infinite loop for anything but the most
trivial cases.
By fixing the loop structure, we also make a bunch of the already
imported WPT tests pass. :^)
2025-06-30 20:38:21 +01:00
Bastiaan van der Plaat
41a6ebfba2
LibIDL: Save parsed stringifier_extended_attributes
2025-06-30 11:39:16 -06:00
Bastiaan van der Plaat
da620d6ccf
LibIDL+LibWeb: Move parse_exposure_set from code generator to LibIDL
2025-06-30 11:39:16 -06:00
ayeteadoe
dbba6c0df9
LibWeb: Enable in Windows CI
2025-06-30 10:50:36 -06:00
ayeteadoe
c14173f651
LibJS: Enable EXPLICIT_SYMBOL_EXPORT
2025-06-30 10:50:36 -06:00
ayeteadoe
83846b3861
LibGC: Enable EXPLICIT_SYMBOL_EXPORT
2025-06-30 10:50:36 -06:00
Andrew Kaster
1d62bf7049
LibWeb: Stub out createImageBitmap with an OffscreenCanvas image
...
This fixes build breakage caused by an interaction b/w PRs #4801
and #3788
2025-06-30 10:32:53 -06:00
ayeteadoe
81ccb655b4
LibWeb: Implement HTML::ImageBitmap creation from HTML::ImageData
2025-06-30 10:07:28 -06:00
Totto16
8404df55d8
LibWeb: Add OffscreenCanvas tests
...
The tests cover working in Worker and some basic functionality
2025-06-30 09:46:21 -06:00
Totto16
f1a096d6e4
LibWeb: Add OffscreenCanvas to IDL types
...
Add OffscreenCanvas to TexImageSource and CanvasImageSource.
Implement all the necessary features to make it work in all cases where
these types are used.
2025-06-30 09:46:21 -06:00
Totto16
2ad3ce5d37
LibWeb: Implement basics for OffscreenCanvas
...
This implements the basic interface, classes and functions for
OffscreenCanvas. Many are still stubbed out and have many FIXMEs in
them, but it is a basic skeleton.
2025-06-30 09:46:21 -06:00
Totto16
193ab3757b
LibWeb: Factor out canvas rendering options algorihtms
...
Factor out canvas parsing algorihtm for CanvasRenderingContext2DSettings
from JS::Value. This was only used in one place but needs to be usable
from other places too in the future.
2025-06-30 09:46:21 -06:00
Totto16
49500ac386
LibWeb: Factor out canvas serialization algorihtm
...
Factor out canvas serialization algorihtm from HTMLCanvasElement to
seperate file. This makes it usable by other things too.
2025-06-30 09:46:21 -06:00
ayeteadoe
8ef7df2a95
Meta: Patch angle vcpkg to build on Windows
CI / macOS, arm64, Sanitizer_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, Clang (push) Waiting to run
Build Dev Container Image / build (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-06-30 08:00:38 -06:00
Andrew Kaster
435aee2b1e
Meta: Patch angle vcpkg to build on Linux
...
This involves removing x11 dependencies, and not setting angle_use_x11.
2025-06-30 08:00:38 -06:00
Callum Law
8e9753eadb
LibWeb: Correctly compute consistent type when simplifying hypot
...
Previously we would never get a valid `consistent_type` as we were
trying to make the node types consistent with the initial empty type
which isn't possible.
Gains us 7 WPT tests.
2025-06-30 14:53:04 +02:00
Tim Ledbetter
04a3a227c3
LibWeb: Add the border-inline-*
shorthand properties
2025-06-30 14:52:18 +02:00
Tim Ledbetter
90da2f5418
LibWeb: Add the border-block-*
shorthand properties
2025-06-30 14:52:18 +02:00
Callum Law
2eb44229b4
LibWeb: Implement Selection.modify
2025-06-30 10:44:32 +01:00
Shannon Booth
bd67a5afaa
LibURL: Differentiate cross site opaque origins
...
Previously if we had two opaque origins both URLs were
being treated as same site.
2025-06-30 08:06:37 +01:00
Shannon Booth
b49b1b35e4
LibURL: Correct logic for domains not matched by PSL in public_suffix
...
CI / macOS, arm64, Sanitizer_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, 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
For the AO defined in the URL specification, in the case the
domain does not match against the PSL, we should be returning
the TLD. This fixes a crash for a bunch of WPT tests using the
Document.domain setter when the test is being served by WPT
locally.
We should be doing similar logic in registrable_domain, but that
unfortunately runs into some other issues, so just leave a FIXME
for now.
2025-06-29 12:47:57 +01:00
Shannon Booth
a2b523eeb8
LibURL: Replace use of URL::get_public_suffix
...
It is confusing to have both URL::Host::public_suffix and
URL:get_public_suffix, both with slightly different semantics.
Instead, use PublicSuffixData for cases that just want a direct
match against the list, and URL::Host::public_suffix in LibWeb
land as the URL spec defined AO.
2025-06-29 12:47:57 +01:00
Shannon Booth
e6ecafea84
LibURL: Remove ErrorOr from get_public_suffix
...
The caller only expects ASCII and let's ignore any OOM.
2025-06-29 12:47:57 +01:00
Shannon Booth
c3618b891f
Meta+LibURL: Always enable public suffix data
...
We should not encourage no public suffix data as a supported
configuration.
2025-06-29 12:47:57 +01:00
Semyon Danilov
9e7b40747f
LibWebView: Add Arial Unicode MS to the list of Sans Serif fallbacks
CI / macOS, arm64, Sanitizer_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, 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-06-28 12:10:35 +01:00
Tim Ledbetter
ac25f47e8f
LibWeb/SVG: Disallow negative stroke-dasharray
values
CI / macOS, arm64, Sanitizer_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, 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-06-27 23:00:13 +02:00
Tim Ledbetter
0c8a90166f
LibWeb/SVG: Disallow negative values for SVG radius properties
CI / Linux, x86_64, Sanitizer_CI, GNU (push) Waiting to run
CI / macOS, arm64, Sanitizer_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, 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-06-27 22:16:42 +02:00
Tom Lynch
831ba5d655
LibWeb: Fix text-shadow position with non 100% window scale
2025-06-27 19:12:01 +02:00
Tim Ledbetter
d7bdbeb446
LibWeb: Disable ligatures if text-rendering is set to optimizeSpeed
...
If `font-variant-ligatures` is set to `normal` and `text-rendering` is
set to `optimizeSpeed` then all ligatures are now disabled.
2025-06-27 16:51:30 +01:00
Tim Ledbetter
b4097623e5
LibWeb: Disable font kerning if text-rendering is set to optimizeSpeed
...
If `font-kerning` is set to `normal` and `text-rendering` is
set to `optimizeSpeed` then kerning is now disabled.
2025-06-27 16:51:30 +01:00
Tim Ledbetter
68035a2b8d
LibWeb/CSS: Add the text-rendering
property
2025-06-27 16:51:30 +01:00
circl
7152821c8f
LibWeb: Don't mark <input type="color"> as closed until the picker is
...
The color picker implementation allows for live updates to the input
element until the final color is confirmed by the user, but previously
it was marked as closed immediately after the first update.
2025-06-27 15:12:47 +01:00
Tim Ledbetter
a14471b89b
LibWeb: Explicitly disable ligatures if font_variant_ligatures
is none
CI / macOS, arm64, Sanitizer_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, 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-06-27 10:06:20 +02:00
Shannon Booth
20d369b96d
LibWeb/HTML: Implement the exception checks for Document.domain setter
2025-06-27 18:45:48 +12:00
Shannon Booth
68b57daf84
LibURL: Remove uneeded FIXME for UTF-8 decode in URL parsing
...
I believe this is in the specification since the spec technically
requires passing through a valid unicode string. However, our
implementation already handles a non valid unicode string, and will
do the replacement character substitution.
2025-06-27 18:45:48 +12:00
Shannon Booth
1f4bbc2bfb
LibURL: Publicly expose ability to parse a host
...
This is used by the HTML specification.
2025-06-27 18:45:48 +12:00
ayeteadoe
f5dc72a492
LibWasm: Enable in Windows CI
2025-06-26 19:35:14 -06:00
ayeteadoe
55a077d5a1
LibMedia: Enable in Windows CI
2025-06-26 19:35:14 -06:00
ayeteadoe
931d0fa562
LibWebSocket: Enable in Windows CI
2025-06-26 19:35:14 -06:00
ayeteadoe
766cc4560f
LibRequests: Enable in Windows CI
2025-06-26 19:35:14 -06:00
ayeteadoe
0d45d08db7
LibHTTP: Enable in Windows CI
2025-06-26 19:35:14 -06:00
ayeteadoe
2119ea982e
LibGfx: Enable in Windows CI
2025-06-26 19:35:14 -06:00
Tim Ledbetter
8828e0d791
LibWeb: Avoid updating muted state on muted content attribute changes
...
The `muted` content attribute should only affect the state of the
`muted` IDL property when the media element is first created. The
attribute should have no dynamic effect.
2025-06-27 09:14:54 +12:00
Tim Ledbetter
ed6f2f9b81
LibWeb: Ensure audio tracks are set to the correct volume before playing
...
CI / macOS, arm64, Sanitizer_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers_CI, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer_CI, 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
Previously, a video or audio element with the `autoplay` and `muted`
attributes set, would not mute the audio before playing.
2025-06-26 09:56:39 -04:00
ayeteadoe
3836d0e219
Meta: Create python version of invoke_generator
...
This allows for the C++ and Python generators to share the same core
implementation, which will simplify the generator migration process
2025-06-25 18:50:14 -06:00
Rocco Corsi
cdb623b663
LibCore: Remove .xht from common_extensions in MimeType text/html
...
Extension .xht was part of common_extensions for two MimeType Array
entries: application/xhtml+xml and text/html. Should only be part of
one.
2025-06-25 18:49:43 -06:00
Timothy Flynn
3171d57639
LibWeb: Restore flags to prevent formatting timestamps as local time
...
The flag to stringify these timestamps as UTC was errantly dropped in
6fb2be96bf
. This was causing test-web to
fail in time zones other than GMT+0.
2025-06-25 23:41:04 +02:00