Callum Law
b0e3af7d10
LibWeb: Parse text-underline-position
property
...
This introduces the `TextUnderlinePositionStyleValue` class, it is
possible to represent `text-underline-position` as a `StyleValueList`
but would have required ugly workarounds for either serialization or in
`ComputedProperties::text_underline_position`
2025-09-15 15:24:20 +01:00
Sam Atkins
5904694844
LibWeb/CSS: Implement CSSImageValue and reify images as it
...
This is specced to be opaque, so there's not much to it.
2025-09-15 08:47:10 +01:00
Psychpsyo
56739b4b16
LibWeb: Implement plumbing for view transitions
...
This implements large parts of the CSS view-transitions-1 spec.
2025-09-07 13:58:05 +01:00
Sam Atkins
f57ffc3655
LibWeb/CSS: Introduce a LengthPercentageOrAuto type
2025-09-04 13:31:24 +01:00
Sam Atkins
577564a1a2
LibWeb/CSS: Add LengthOrAutoOrCalculated
...
It's `LengthOrCalculated` for places that want `<length> | auto`.
2025-09-04 13:31:24 +01:00
Sam Atkins
f663c0a72d
LibWeb/CSS: Introduce a LengthOrAuto type
...
`clip: rect()` in particular wants this for its parameters.
2025-09-04 13:31:24 +01:00
Luke Wilde
9adf27f009
LibWeb: Add tests for Gamepad API by utilising virtual SDL3 joysticks
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
Build Dev Container Image / build (push) Has been cancelled
2025-09-01 21:10:47 +02:00
Luke Wilde
74e0483ea5
LibWeb: Implement the Gamepad API with SDL3
2025-09-01 21:10:47 +02:00
Sam Atkins
177395155a
LibWeb/CSS: Implement CSSMathClamp
...
As the final CSSMathFoo class, this makes the serialization test finally
run instead of crashing.
2025-08-29 11:57:10 +02:00
Sam Atkins
dd3007dcd7
LibWeb/CSS: Implement CSSMathMax
...
Basically the same as CSSMathMin.
2025-08-29 11:57:10 +02:00
Sam Atkins
1a35795f47
LibWeb/CSS: Implement CSSMathMin
2025-08-29 11:57:10 +02:00
Sam Atkins
8efd0639cd
LibWeb/CSS: Implement CSSMathInvert
...
This is almost identical to CSSMathNegate.
2025-08-29 11:57:10 +02:00
Sam Atkins
f2ec04d20d
LibWeb/CSS: Implement CSSMathNegate
2025-08-29 11:57:10 +02:00
Sam Atkins
e21610180f
LibWeb/CSS: Implement CSSMathProduct
...
This is almost identical to CSSMathSum.
2025-08-29 11:57:10 +02:00
Sam Atkins
e17052a343
LibWeb/CSS: Implement CSSMathSum
2025-08-29 11:57:10 +02:00
Sam Atkins
a46c980629
LibWeb/CSS: Implement CSSNumericArray
2025-08-29 11:57:10 +02:00
Sam Atkins
6c8876cdb8
LibWeb/CSS: Implement CSSMathValue
...
This is a base class for the various math functions, so it's not used
directly anywhere.
2025-08-29 11:57:10 +02:00
Tim Ledbetter
d4f05bc4ef
LibWeb: Implement <feImage>
SVG filter
2025-08-29 10:15:24 +01:00
Tim Ledbetter
ea41aba6c7
LibWeb: Move common SVGViewport code into an SVGFitToViewBox class
...
Special handling for SVGClipPathElement and SVGMaskElement, which use a
a ViewBox and PreserveAspectRatio value internally, has been moved to
`SVGFormattingContext`.
2025-08-28 15:42:56 +02:00
stelar7
752210aec1
LibWeb/IDB: Implement IDBRecord
2025-08-27 16:13:25 +02:00
stelar7
b1c1e33bae
LibWeb/EME: Implement MediaKeySystemAccess
2025-08-27 09:58:00 +02:00
ayeteadoe
3df8e00d91
LibWeb: Enable EXPLICIT_SYMBOL_EXPORT
2025-08-23 16:04:36 -06:00
Sam Atkins
5384338788
LibWeb/CSS: Implement CSSUnitValue
2025-08-22 09:48:30 +01:00
Sam Atkins
6cb8e92bd4
LibWeb/CSS: Stub out CSSNumericValue
...
Most of the methods on this rely on its subclasses existing, so for now
it's very basic.
2025-08-22 09:48:30 +01:00
Sam Atkins
5bdc2981e3
LibWeb/CSS: Rename CSSNumericType to NumericType
...
The CSSNumericType defined in the spec is a simple dictionary which is
only used for OM purposes. This NumericType class is used internally
and matches the more abstract definition of a "type".
2025-08-22 09:48:30 +01:00
Sam Atkins
6428c9990d
LibWeb/CSS: Implement CSSUnparsedValue and CSSVariableReferenceValue
...
We don't serialize these the way WPT expects, because we don't implement
the comment-insertion rules from CSS-Syntax. We don't implement that
for regular serialization either, so it's something we can worry about
later.
2025-08-21 10:21:54 +01:00
Sam Atkins
a93c6a347f
LibWeb/CSS: Implement CSSKeywordValue
...
CSSStyleValue is adjusted to allow for subclasses. Serialization for
CSSKeywordValue is implemented differently than the spec says because
of a spec bug: https://github.com/w3c/csswg-drafts/issues/12545
2025-08-21 10:21:54 +01:00
Jelle Raaijmakers
715de4693c
LibGC+LibWeb: Remove unused include and class
2025-08-19 11:12:23 +02:00
Tim Ledbetter
cfc6439c12
LibWeb: Use shape-rendering
to control anti aliasing for SVG paths
...
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
Anti-aliasing is disabled if `shape-rendering` is set to
`optimizeSpeed` or `crispEdges`.
2025-08-19 09:47:28 +01:00
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
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
99bce9a94d
LibWeb/CSS: Replace CSSUnitValue with DimensionStyleValue
...
CSSUnitValue is a typed-om type which we will implement separately in
the future. However, it still seems useful to give our dimension values
a base class. (Maybe they could be templated in the future?) So instead
of deleting it entirely, rename it to DimensionStyleValue and make its
API match our style better.
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
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
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