Tim Ledbetter
263cb3f8ca
LibWeb/CSS: Remove unnecessary shorthand serialization special cases
...
The serialization of these properties is improved by using the new
default behavior.
2025-04-07 11:38:56 +01:00
Tim Ledbetter
3186adeaa1
LibWeb/CSS: Don't serialize longhands which match their initial values
...
Shorthand subproperties that match their initial values are now
excluded from serialization, by default.
Properties where this behavior is not desired, like `gap`, are
special-cased.
2025-04-07 11:38:56 +01:00
Tim Ledbetter
32812f5db0
LibWeb: Return absolutized computed value for outline width property
2025-04-05 12:54:22 +02:00
Tim Ledbetter
8738987e44
LibWeb: Return absolutized computed value for border width properties
2025-04-04 23:45:06 +02:00
Tim Ledbetter
46411295d6
LibWeb: Serialize drop-shadow filter properties in canonical order
2025-04-04 17:12:47 +01:00
Tim Ledbetter
c941170e5a
LibWeb: Invalidate document style when media rules are changed
...
This ensures that new media rules are always produce the correct result
when evaluated.
2025-04-04 10:10:43 +02:00
Sam Atkins
bd7a08da3b
Tests: Reimport font-stretch tests as font-width
...
Corresponds to 7c0c4806bb
2025-04-02 14:55:27 +01:00
Tim Ledbetter
7b0b6e7493
LibWeb/CSS: Make empty GridTrackSize value serialize to "none"
...
This is the default value of the `grid-template-rows` and
`grid-template-columns` properties.
2025-03-22 17:33:37 +01:00
Tim Ledbetter
cbf47abd24
LibWeb/CSS: Set the initial value of the appearance property to "none"
2025-03-22 17:05:17 +01:00
Tim Ledbetter
ecd6636b3e
LibWeb/CSS: Use "0s" as the initial value for animation-duration
2025-03-22 17:04:33 +01:00
Tim Ledbetter
d0be5a0cdf
LibWeb: Preserve unit when serializing time values
...
Previously, when serializing a time value, we would always convert it
to seconds. We now canonicalize the time value only when serializing
its computed value.
2025-03-20 16:59:27 +00:00
Tim Ledbetter
54351e7327
LibWeb: Use shortest serialization for shorthands with repeated values
...
For shorthands where all the values are repeated, we now only output
the value once.
2025-03-20 14:30:55 +01:00
Tim Ledbetter
85728b297f
LibWeb: Ensure the shortest serialization is used for border-radius
...
This implementation also fixes an issue where the individual components
of the `border-radius` shorthand were always assumed to be of type
`BorderRadiusStyleValue`, which could lead to a crash when CSS-wide
keywords were used.
2025-03-18 21:55:06 +01:00
Aliaksandr Kalenik
394073f611
LibWeb: Rename internals.signalTextTestIsDone() to signalTestIsDone()
...
In upcoming change this function will be used for ref-tests as well.
2025-03-18 20:09:46 +01:00
Tim Ledbetter
01d1a9528b
LibWeb: Calculate the correct resolved value for inset properties
...
This improves the output of `getComputedStyle()` for the `top`,
`bottom`, `left` and `right` properties, where the used value is now
returned rather than the computed value, where applicable."
2025-03-18 09:27:51 +00:00
Tim Ledbetter
e011ddd368
LibWeb/CSS: Parse border-block-* properties
...
This doesn't currently honor `writing-mode`, `direction` and
`text-orientation`.
2025-03-14 16:09:10 +00:00
Tim Ledbetter
cd1bba353a
LibWeb/CSS: Parse border-inline-* properties
...
This doesn't currently honor `writing-mode`, `direction` and
`text-orientation`.
2025-03-14 16:09:10 +00:00
Tim Ledbetter
18cccd7633
LibWeb/CSS: Don't allow negative values in border-radius property
2025-03-14 15:07:57 +00:00
Tim Ledbetter
632fc73643
LibWeb/CSS: Don't allow negative border radius in box-shadow property
2025-03-14 15:07:57 +00:00
Tim Ledbetter
dc58c11217
LibWeb: Reject invalid background-position-* property values
2025-03-14 15:07:57 +00:00
Tim Ledbetter
764b80a1cc
LibWeb/CSS: Reject radial-gradient functions with negative size
2025-03-14 15:07:57 +00:00
Tim Ledbetter
6298ec6be4
LibWeb: Validate time values when parsing transition value
2025-03-14 08:52:25 +01:00
Tim Ledbetter
37eb2be348
LibWeb/CSS: Disallow negative time values for transition-duration
2025-03-14 08:52:25 +01:00
Tim Ledbetter
ad4ade3f07
LibWeb/CSS: Disallow invalid <counter-name> values
...
We now parse `<counter-name>` values as a `<custom-ident>`. This
disallows `default` and CSS-wide keywords as counter names. The
specification additionally disallows `none` as a counter name.
2025-03-13 05:23:19 +00:00
Tim Ledbetter
249de20343
LibWeb/CSS: Don't allow negative values in filter functions
2025-03-12 09:06:16 +00:00
Tim Ledbetter
53bf0ef225
LibWeb/CSS: Resolve used value for the inline-size property
2025-03-10 13:01:08 +00:00
Tim Ledbetter
1739e2851d
LibWeb/CSS: Resolve used value for the block-size property
2025-03-10 13:01:08 +00:00
Tim Ledbetter
88d35c547c
LibWeb/CSS: Implement the caret-color property
2025-03-09 19:36:29 +01:00
Sam Atkins
3216da062a
Tests: Import some CSS cursor tests
2025-02-28 13:50:13 +01:00
Sam Atkins
7b13ccabd4
Tests: Import some calc() serialization tests from WPT
2025-02-27 21:42:43 +01:00
Glenn Skrzypczak
64a234c0df
LibWeb/Canvas: Correctly return globalCompositeOperation
...
This fixes a bug that caused the retrieved `globalCompositeOperation`
to contain quotes.
2025-02-24 13:55:51 +00:00
Andreas Kling
a706d0ebf4
LibWeb: Let getComputedStyle() show *used* values for margin/padding
...
We were incorrectly showing *computed* instead of *used* values for
margin and padding when inspected via getComputedStyle().
2025-02-22 20:02:16 +01:00
Psychpsyo
89f36168b7
LibWeb: Import WPT tests for view-transition-name parsing
2025-02-22 14:52:13 +00:00
Andreas Kling
afff44be86
Tests: Import a WPT test for dynamic changes to media queries in iframes
2025-02-13 20:52:31 +01:00
Sam Atkins
106239ce98
Tests: Import some font-parsing tests
2025-02-12 16:00:42 +00:00
Sam Atkins
942e14c27a
Tests: Import WPT :open test
2025-02-10 13:57:36 +00:00
Sam Atkins
070c4a2045
LibWeb: Implement text-align: match-parent
...
At computed-value time, this is converted to whatever the parent's
computed value is. So it behaves a little like `inherit`, except that
an inherited start/end value uses the parent's start/end, which might
be different from the child's.
2025-02-05 17:45:44 +00:00
Mehran Kamal
cfe6702767
LibWeb/CSS: Fix linear-gradient single color-stop usage
...
The Web::CSS::Parser's GradientParsing ignores color-stops if
it is only a single one. This change allows to have color-stops
with double positions against a single color.
Further, also allows for `linear-gradient(black)` and similar
other gradient functions
2025-02-03 17:24:10 +00:00
Aliaksandr Kalenik
0cfe90b59e
LibWeb: Don't allow "display: none" start CSS animations
...
This is both a correctness fix and a performance optimization.
2025-02-01 13:42:00 +01:00
Psychpsyo
67ed676831
LibWeb: Implement CSS 'contain' property
2025-01-28 11:24:40 +00:00
Psychpsyo
9370990ff2
LibWeb: Implement user-select
...
This implements all values of user-select.
2025-01-08 14:37:28 +00:00
Gingeh
8e56109515
LibWeb/CSS: Implement the light-dark color function
2025-01-08 11:18:13 +00:00
Lucas CHOLLET
abc0418710
LibWeb/DOM: Convert elapsedTime to seconds when firing AnimationEvents
...
This makes all three subtests from this test to pass:
- css/css-animations/animationevent-types.html
2024-12-30 11:05:37 +01:00
Lucas CHOLLET
d268df747f
Tests/LibWeb: Import a test from wpt/css-animation
2024-12-30 11:04:55 +01:00
Lucas CHOLLET
9585aeafda
LibWeb/DOM: Don't assume that Animations have an associated effect
...
Fixes a crash on:
- css/css-transitions/CSSTransition-effect.tentative.html
2024-12-28 10:37:44 +01:00
tanner.drake
fe25f77bcf
LibWeb/Geometry: Implement "other than none" keyword check
2024-12-28 07:51:11 +01:00
Lucas CHOLLET
55b4a983a7
LibWeb/CSS: Add the TransitionEvent type
2024-12-25 17:14:08 +01:00
Lucas CHOLLET
61755b29c9
Tests: Import a bunch of css-color tests from WPT
2024-12-19 09:54:14 +00:00
Gingeh
84150f972f
LibWeb: Properly serialize position/edge style values
2024-12-13 11:35:38 +00:00
Lucas CHOLLET
5e62f548db
LibWeb/CSS: Serialize CSSColor without relying on RGB
...
This gives us 140 subtests pass in:
css/css-color/parsing/color-valid-color-function.html
2024-12-11 16:37:22 -07:00