Sam Atkins
3bb54ffd59
LibWeb/CSS: Stub out StylePropertyMap
2025-08-13 09:47:50 +01:00
Sam Atkins
1620fc5bf6
LibWeb/CSS: Stub out StylePropertyMapReadOnly
...
Nothing yet produces this, and the useful parts of get() and get_all()
will have to wait until type reification is implemented.
2025-08-13 09:47:50 +01:00
Sam Atkins
882288bf86
LibWeb/CSS: Stub out CSSStyleValue
2025-08-13 09:47:50 +01:00
Tete17
adaad653ca
LibWeb: Implement TrustedScriptURL class
2025-08-11 12:21:31 +01:00
Tete17
56cab6955a
LibWeb: Implement TrustedScript type
...
This turns out to be very similar to TrustedHTML.
2025-08-11 12:21:31 +01:00
Tete17
966e00fd69
LibWeb: Finish algorithm to block trusted type policy creation with CSP
...
This is the mechanism that should pages to determine what kind of
policies can be created on their domains mostly based around the HTTP
headers the server responds with.
2025-08-11 12:21:31 +01:00
Tete17
90bcc16a7b
LibWeb: Add TrustedTypePolicy class
...
It is mostly a skeleton with no actual implementation.
2025-08-11 12:21:31 +01:00
Tete17
0a147aa9a1
LibWeb: Implement TrustedHTML class
...
The TrustedHTML interface represents a string that a developer can
confidently insert into an injection sink that will render it as HTML.
These objects are immutable wrappers around a string, constructed via a
TrustedTypePolicy’s createHTML method.
2025-08-11 12:21:31 +01:00
Idan Horowitz
70efa8c1c5
LibWeb: Implement CookieChangeEvent
2025-08-08 13:09:58 -04:00
Idan Horowitz
d6c2893663
LibWeb: Add initial CookieStore support
2025-08-08 13:09:58 -04:00
Sam Atkins
5bd3bc309e
LibWeb/CSS: Rename color style value types
...
The typed-om classes will be separate.
2025-08-08 15:19:03 +01:00
Sam Atkins
6cad3f1921
LibWeb/CSS: Rename CSSColorValue -> ColorStyleValue
...
The typed-om class will be a separate thing.
2025-08-08 15:19:03 +01:00
Sam Atkins
4e92ab52e3
LibWeb/CSS: Rename CSSKeywordValue -> KeywordStyleValue
...
The typed-om CSSKeywordValue will need to be a separate class.
2025-08-08 15:19:03 +01:00
Sam Atkins
c57975c9fd
LibWeb: Move and rename CSSStyleValue to StyleValues/StyleValue.{h,cpp}
...
This reverts 0e3487b9ab
.
Back when I made that change, I thought we could make our StyleValue
classes match the typed-om definitions directly. However, they have
different requirements. Typed-om types need to be mutable and GCed,
whereas StyleValues are immutable and ideally wouldn't require a JS VM.
While I was already making such a cataclysmic change, I've moved it into
the StyleValues directory, because it *not* being there has bothered me
for a long time. 😅
2025-08-08 15:19:03 +01:00
Edwin Hoksberg
1be31c103f
LibWeb: Stub WebSerial API
2025-08-08 10:23:17 +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
7b30c94fcf
LibWeb+CodeGenerators: Generate EnvironmentVariable enum and functions
2025-08-07 16:38:29 +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
Luke Wilde
f9247116b1
LibWeb/CSP: Implement the form-action directive
2025-08-07 00:45:31 +02:00
InvalidUsernameException
add3a095d8
LibWeb/CSS: Rename background-repeat related symbols to align with spec
...
These will be used for the mask-repeat property as well in an upcoming
commit, hence the more generic names. Also, this more closely matches
the names used in the spec.
2025-08-06 23:09:07 +01:00
Sam Atkins
012f4735a7
LibWeb/CSS: Introduce structured reporting for CSS errors
...
Instead of random dbgln_if(CSS_PARSER_DEBUG) messages, this lets us
report what kind of error it was. Repeated errors are combined instead
of spamming the console.
Ideally this would also record where the error occurred, but not yet.
2025-08-04 10:50:09 +01:00
Tim Ledbetter
1d9e4a6f62
LibWeb: Parse anchor()
function for inset properties
2025-08-03 22:09:31 +02:00
Aliaksandr Kalenik
b265618bfb
LibWeb: Rename Command to DisplayListCommand
...
Gives name more consistent with other display list related classes.
2025-08-01 05:25:56 -04:00
Aliaksandr Kalenik
61114f6d16
LibWeb: Rename PaintContext to DisplayListRecordingContext
...
PaintContext dates back to a time when display lists didn't exist and it
truly represented "paint context". Renaming it to better align with its
current role.
2025-08-01 05:25:56 -04:00
Jelle Raaijmakers
c4f5e7bee3
LibWeb: Implement anchor-size(..)
function parsing
...
This parses `anchor-size(..)` functions in CSS, but does not yet result
in a useful `Size`: we need style & layout interleaving similar to
container queries for this, since the resulting value depends on layout
results.
Not supported yet: `anchor-size()` appearing inside a `calc()` node.
Adds 4280 WPT subtest passes in `css/css-anchor-position`.
2025-07-30 18:13:59 +01:00
Tete17
8fdd9b68dc
LibWeb: First implementation of the TrustedTypePolicyFactory
...
Most of the functions are either not implemented of filled with dummy
values.
2025-07-30 15:51:35 +01:00
Tete17
223b1cc704
LibWeb: Add barebones SVGAnimationElement class
...
Many wpt test on trusted-types relay on this class being defined to even
begin the test as it declares some event handlers.
This is not really an implementation but the most basic setup needed to
run the tests.
2025-07-30 15:51:35 +01:00
Jelle Raaijmakers
35ca7f82b0
LibWeb: Add BaseAudioContext::createScriptProcessor()
...
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
Push notes / build (push) Waiting to run
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
This is a deprecated node, but it's still widely used on the web.
2025-07-25 11:48:04 +02:00
Jelle Raaijmakers
526615bc10
LibWeb: Stub Navigator.getGamepads()
2025-07-22 11:55:29 -04:00
ayeteadoe
2e2484257d
LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set
2025-07-22 11:51:29 -04:00
ayeteadoe
539a675802
LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT
...
This reverts commit c14173f651
. We
should only annotate the minimum number of symbols that external
consumers actually use, so I am starting from scratch to do that
2025-07-22 11:51:29 -04:00
Tim Ledbetter
a990de65e4
LibWeb: Implement SVGViewElement
...
This identifies a particular region of an SVG image, which can then be
linked to by an SVG fragment identifier.
2025-07-22 00:52:24 +02:00
Luke Wilde
5a1de8a187
LibWeb/CSP: Implement the child-src directive
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-07-19 17:15:21 +12:00
Luke Wilde
c5748437db
LibWeb/CSP: Implement the default-src directive
2025-07-19 17:15:21 +12:00
Luke Wilde
25425f63ba
LibWeb/CSP: Implement the worker-src directive
2025-07-19 17:15:21 +12:00
Jelle Raaijmakers
8dd259b8d8
LibWeb: Stub CSSCounterStyleRule
...
Just the interface. Adds 6 new WPT subtest passes.
2025-07-18 11:51:41 +01:00
Luke Wilde
8e999bca62
LibWeb/CSP: Implement the style-src-attr directive
CI / Linux, x86_64, Sanitizer, GNU (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, 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-07-18 11:58:04 +12:00
Luke Wilde
574b736156
LibWeb/CSP: Implement the style-src-elem directive
2025-07-18 11:58:04 +12:00
Luke Wilde
8b0b3b186f
LibWeb/CSP: Implement the style-src directive
2025-07-18 11:58:04 +12:00
Sam Atkins
6b53454b68
LibWeb/SVG: Move path data into Path.{h,cpp}
...
More things need this than just the `<path>` element, so let's avoid
having to include `SVGPathElement.h` in places that don't need it.
Minor changes at the same time:
- Wrap it in a Path class
- Specify underlying type for PathInstructionType
- Make a couple of free functions into methods
- Give PathInstruction an operator==
No functionality changes.
2025-07-17 13:59:23 -04:00
Aliaksandr Kalenik
8cbe27b2f9
LibWeb: Move perform_pending_style_invalidations()
in StyleInvalidator
...
This change introduces StyleInvalidator as a preparation for upcoming
change that will make `perform_pending_style_invalidations()` take care
of pending invalidation sets.
2025-07-17 00:43:26 +02:00
Sam Atkins
ded2207762
LibWeb/CSS: Parse the CSS <syntax>
type into a tree
...
`<syntax>` is a limited subset of the "value definition syntax" used in
CSS specs. It's used for `@property`'s `syntax` descriptor, and for the
`type()` function in `attr()`.
2025-07-16 14:47:45 +01:00
Sam Atkins
c7d4c4fbff
LibWeb/CSS: Add a method to parse a value based on a ValueType
2025-07-16 14:47:45 +01:00