Psychpsyo
2db3796fd3
LibWeb: Implement CSS perspective-origin
2025-11-21 11:14:28 +00:00
Sam Atkins
9a1352fc17
LibWeb/CSS: Support calculated angles in conic-gradient()
2025-11-21 11:36:28 +01:00
Sam Atkins
fd4888e800
LibWeb/Layout: Honor hanging and each-line in text-indent
2025-11-20 16:02:40 +01:00
Sam Atkins
0e8f3a4648
Tests: Import ahem font for ref tests
...
A few tests were trying to use ahem.css but failed because the path was
invalid and the font wasn't imported.
2025-11-20 16:02:40 +01:00
Tim Ledbetter
36c6079dbc
LibWeb+LibGfx: Implement SVGFEMorphologyElement
...
This filter primitive is used to erode or dilate an image.
2025-11-15 16:08:53 +01:00
mikiubo
88e19ebc11
LibWeb: Handle empty string namespaces in selector matching
...
Per the CSS Namespaces spec, an empty string declared in an
@namespace rule represents no namespace.
Fixes WPT:
- css/css-namespaces/prefix-002.xml
- css/css-namespaces/prefix-003.xml
2025-11-14 08:16:53 +00:00
Psychpsyo
d284b4c2b8
LibWeb: Clamp any values less than 1 in perspective() transform function
2025-11-12 18:45:09 +01:00
Psychpsyo
e064fa19d2
LibWeb: Add transform-style and have it make a stacking context
2025-11-12 15:47:36 +01:00
Psychpsyo
eb21ea890c
LibWeb: Implement CSS perspective property
2025-11-12 00:41:14 +01:00
Psychpsyo
e44a97e508
LibWeb: Pass 3D transforms to Skia
2025-11-12 00:41:14 +01:00
Tim Ledbetter
5294559f7b
LibWeb: Use logical properties in UA stylesheet
2025-10-24 10:11:49 +01:00
Tim Ledbetter
1c00279488
LibWeb: Reset Painter when resetting canvas to its initial state
2025-10-23 18:52:36 +02:00
Lorenz A
e73e0b3c92
LibWeb: Implement CSS decode bytes algo
2025-10-16 16:44:42 +02:00
Tim Ledbetter
e55060ef6e
LibWeb: Support the display-p3-linear color space in color functions
2025-10-15 18:40:48 +02:00
=
a3e973970a
LibWeb/CSS: Check overflow value before determining box baseline
...
The CSS spec says the baseline of an inline-block should be the bottom
margin when either the overflow property is not 'visible' or there are
no in-flow line boxes. Previously, only the latter case was checked.
This fixes 1 WPT test:
https://wpt.live/css/css-align/baseline-of-scrollable-1a.html
2025-10-13 09:47:32 +01:00
luizgfc
820fee434e
LibWeb: Import WPT test about custom property resolution precedence
2025-09-30 09:54:10 +01:00
Tim Ledbetter
d18d40f7b9
LibWeb: Handle interpolation of grid track size lists
...
This allows the `grid-template-rows` and `grid-template-columns`
properties to be correctly interpolated.
2025-09-26 11:15:08 +01:00
Sam Atkins
d9ed784f92
Tests: Add the hidden-img hack to a couple of flaky tests
...
Editing a WPT import feels wrong because fixing the bug would be better,
but flaky CI helps nobody.
2025-09-25 10:35:28 +01:00
Veeti Paananen
8ab3549585
LibWeb: Add support for HTMLHRElement size presentational hint
2025-09-12 11:23:38 +01:00
Callum Law
815e77c04d
LibWeb: Respect text-underline-offset when rendering underlines
2025-09-12 07:07:15 +01:00
Callum Law
9aa2d1bd3e
LibWeb: Make text-decoration lines entire width of fragment
...
This fixes an issue where text decorations (e.g. underlines) of text
split across multiple fragments would have unintended 1px gaps.
Gains us 2 WPT passes (imported)
2025-09-12 07:07:15 +01:00
Tim Ledbetter
4559d5f6f6
LibWeb: Always round text-decoration-thickness value up to 1px
2025-09-10 15:36:12 +02: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
Aliaksandr Kalenik
4c7da460dc
LibWeb: Add ::slotted() pseudo-element support
...
Implements `::slotted()` to enough extent we could pass the imported WPT
test and make substantial layout correctness improvement on
https://www.rottentomatoes.com/
2025-09-04 09:51:34 +01:00
Tim Ledbetter
7dade36d96
LibWeb: Ensure SVG image element respects viewBox
...
Previously, any active viewBox was ignored by SVG image elements.
2025-09-01 13:28:35 +01:00
Tim Ledbetter
d4f05bc4ef
LibWeb: Implement <feImage> SVG filter
2025-08-29 10:15:24 +01:00
Tim Ledbetter
b23fd1f440
LibWeb: Update layout when view box properties are changed
2025-08-28 15:42:56 +02:00
norbiros
2ed7e0422e
LibWeb/CSS: Import absolute positioning tests inside grid containers
2025-08-25 14:09:12 +02:00
Tim Ledbetter
030e670fcb
LibWeb/SVG: Resolve stroke URI reference values
2025-08-21 00:33:53 +02:00
Tim Ledbetter
05432d7157
LibWeb/SVG: Resolve fill URI reference values
2025-08-21 00:33:53 +02:00
Tim Ledbetter
b81d3e813c
LibWeb: Eagerly create stacking context if will-change set for property
...
If `will-change` is set to a property value where that property could
create a stacking context, then we create a stacking context regardless
of the current value of that property.
2025-08-18 12:36:37 +01:00
Tim Ledbetter
ad06ac0d58
LibWeb: Implement the color-interpolation property for SVG gradients
...
This changes the operating color space for gradient `<linearGradient>`
and `<radialGradient>` elements.
2025-08-17 10:51:05 +02:00
Luke Wilde
40bb50ac60
LibWeb: Parse and propagate the iframe sandbox attribute
2025-08-07 19:24:39 +02:00
Jelle Raaijmakers
6c14e740f1
LibWeb: Remove tentative and contradictory BFC wrapping test
...
This tests is trying to see if we're taking into account the full margin
box width (75px - 50px) when determining whether there is enough space
to fit the BFC box. No major browser passes this test, and other tests
such as `css/CSS2/floats/new-fc-beside-float-with-margin.html` seem to
require that we ignore those margins.
2025-08-01 14:26:12 +02:00
Tim Ledbetter
d38fac7518
LibWeb/SVG: Ignore view boxes with negative width or height
2025-07-22 00:52:24 +02: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
Sam Atkins
db75405881
LibWeb/CSS: Support overlay keyword as alias to auto in overflow
...
We don't yet have a system for "legacy value aliases", but until we have
a lot of them we can handle them manually.
We also have to do this in two places because
parse_css_value_for_property() doesn't call any property-specific
parsing code.
2025-07-21 10:04:42 +01:00
Jelle Raaijmakers
0d856a8fa7
Tests: Implement fuzzy screenshot comparisons in test-web
...
We now read WPT's `<meta name="fuzzy">` tags if present in tests and
apply them while comparing screenshots.
2025-07-17 12:59:11 +01:00
Sam Atkins
27a666f3b2
LibWeb/CSS: Implement type(<syntax>) in attr()
...
This lets the `attr()` interpret the attribute's contents as an
arbitrary type instead of just as a string or number.
2025-07-16 14:47:45 +01:00
Sam Atkins
5d1ba658c9
Tests: Import attr()-related WPT tests
2025-07-16 14:47:45 +01:00
Tim Ledbetter
6ef96ba170
Revert "Tests: Replace background-near-zero-svg test with WPT import"
...
The unmodified test is flaky on CI.
This reverts commit 8fce09f521 .
2025-07-07 06:53:21 -04:00
Tim Ledbetter
8fce09f521
Tests: Replace background-near-zero-svg test with WPT import
2025-07-02 18:44:21 +02:00
Tim Ledbetter
7a6e4f5ec8
LibWeb: Treat a CSS declaration with a "--" property name as invalid
2025-06-25 17:09:29 +01:00
Tim Ledbetter
b00e57139f
LibWeb/CSS: Treat block at-rules with no block as invalid
2025-06-25 09:02:45 +02:00
Tim Ledbetter
212d748ded
LibWeb: Apply clip rect before painting background and foreground items
2025-06-24 12:56:28 +01:00
Callum Law
6584ae0080
LibWeb: Treat CSS selectors containing undeclared namespaces as invalid
...
Selectors containing undeclared namespaces should be considered invalid,
not just not matching any elements.
Gains us 3 new WPT passes.
2025-06-24 12:51:12 +01:00
Tim Ledbetter
9b6da84fff
LibWeb/CSS: Implement the font-kerning property
...
This sets whether the kerning information stored on the current font is
used.
2025-06-23 13:26:48 +01:00
Tim Ledbetter
689dff3ee8
Tests: Synchronize imported tests with the WPT repository
2025-06-22 23:51:34 +02:00
Callum Law
d7036daa89
LibWeb: Disallow trailing tokens in @supports(<declaration>)
2025-06-21 11:49:43 +01:00
Tim Ledbetter
e0af205d69
LibWeb/CSS: Implement the empty-cells property
...
This property sets whether table borders and backgrounds are painted
if a given table cell has no visible content.
2025-06-18 14:55:03 +01:00