Commit graph

10753 commits

Author SHA1 Message Date
Oriol Brufau
88d01f6303
layout: Implement default overflow alignment for abspos (#35208)
According to https://drafts.csswg.org/css-align/#auto-safety-position

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-02-04 22:28:44 +00:00
Simon Wülker
aa09e2b88f
Make traverse_preorder follow children of shadow hosts (#35276)
* Make traverse_preorder follow children of shadow hosts

Children of shadow hosts are not displayed, but they
still exist in the DOM and must be traversed.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Fix traverse_preorder over shadow roots

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-02-04 20:47:33 +00:00
Xiaocheng Hu
4716dca505
Clean up some stale debug options for ServoDriver (#35281)
* Clean up some stale debug options for ServoDriver

Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>

* Fix wpt manifest

Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>

---------

Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>
2025-02-04 12:59:06 +00:00
Oriol Brufau
7301af8468
layout: Fix painting order of collapsed table borders (#35219)
In #35075 I painted them in front of the decorations (backgrounds and
borders) of any block-level box in the same stacking context. I did that
because other browsers paint them in front of the decorations of the
descendants of the table, but my approach also painted them in front of
decorations of following siblings of the table, which was wrong.

This patch makes it so that collapsed table orders are painted in the
same step as decorations. However, tables defer painting their collapsed
borders after the decorations of their descendants.

This matches Blink and WebKit, and brings us closer to Gecko (which is
slightly different in some corner cases).

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-02-03 14:46:40 +00:00
TIN TUN AUNG
2030b7affd
layout: align-content with default value normal should behave as strech in flex container (#35178)
Signed-off-by: rayguo17 <rayguo17@gmail.com>
2025-02-03 08:27:55 +00:00
Simon Wülker
6a2e37183c
Lay out the contents of slot elements (#35220)
* Make Slottable match layout/alignment of NonNull<Node>

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Implement ServoLayoutElement::slotted_nodes

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Bump mozjs

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Layout the contents of slot elements

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Implement ServoLayoutElement::assigned_slot

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* implement ServoLayoutElement::traversal_parent

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Simplify slottable name update

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Don't iterate over children of shadow hosts

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Recompute slot style when contents change

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Change match_slottable to a function instead of a macro

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Fix crown errors

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Reset a slottable's assigned slot when it's removed from the slot

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-02-02 20:49:42 +00:00
shanehandley
938baf6bf3
script: Implement the Bytes() method on Request and Response (#35250)
* Implement the Bytes() method on Request and Response

Signed-off-by: Shane Handley <shanehandley@fastmail.com>

* avoid unsafe code during buffer creation

Signed-off-by: Shane Handley <shanehandley@fastmail.com>

---------

Signed-off-by: Shane Handley <shanehandley@fastmail.com>
2025-02-02 07:49:48 +00:00
Servo WPT Sync
f364b3f6ea
Update web-platform-tests to revision b'f630424a79c1ae17deaaf27a21efdbca1378af0e' (#35258)
Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
2025-02-02 01:40:50 +00:00
Oriol Brufau
a4c6c205d2
Avoid starting transitions if values can't be interpolated (#35234)
Bumps Stylo to https://github.com/servo/stylo/pull/115

This is mainly to avoid firing events like `transitionstart` when the
transition isn't actually allowed.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-31 16:37:59 +00:00
Samson
35835af857
webgpu: implement get image for webgpu canvas (#35237)
* Implement `get_image_data` for WebGPU canvas

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* Update expectations

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* Add docs

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-01-31 15:24:33 +00:00
Oriol Brufau
006ec58598
Let animations&transitions fall back to discrete interpolation (#34981)
Bumps Stylo to https://github.com/servo/stylo/pull/109

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-30 20:36:55 +00:00
Simon Wülker
64b40ea700
Don't fire slotchange events when there's already a pending event for the same slot (#35222)
* Don't fire slotchange events if there is already a pending event for the same slot

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-01-30 13:57:04 +00:00
Simon Wülker
1ad45a776a
Potentially signal a slot change in Node::insert (#35221)
* Potentially signal a slot change in Node::insert

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-01-30 08:47:21 +00:00
Oriol Brufau
bc7cdab46f
layout: Remove wrong optimization when placing table among floats (#35207)
When we try to place a table next to some floats, and it doesn't fit
vertically, then we try again considering more floats. And as an
optimization we were using the previous width of the table as a minimum.
However, this was wrong, because the table might accept a smaller width
when the available space is smaller than beforehand.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-29 15:54:52 +00:00
Simon Wülker
f6d1b30e97
Use "slot" attribute for slottable name (#35191)
* Implement Element::slot attribute

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Simplify slottable name update

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-01-29 12:50:03 +00:00
Oriol Brufau
7977357a57
layout: Zero out collapsed track sizes when painting collapsed borders (#35165)
We were painting collapsed borders without taking into account that some
tracks might have been "removed" by `visibility: collapse`.

This just sets the sizes of these tracks to zero. Note this implies that
collapsed borders may overlap each other, or overlap cell contents, but
this seems to match Blink.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-27 20:40:26 +00:00
Oriol Brufau
38847d4991
layout: Correctly resolve currentcolor on collapsed borders (#35163)
If a collapsed border has the `currentcolor` color, we were resolving it
using the color of the table. Now we resolve it using the color of the
box which owns the border that wins and becomes the collapsed border.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-27 19:58:18 +00:00
Simon Wülker
177b5b2cef
Propagate events from slottables to their assigned slot instead of their parent (#35177)
* Propagate events from slottables to their assigned slot instead of their parent

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-01-27 15:48:24 +00:00
Martin Robinson
6b04bc6263
layout: Take percentage columns into account when sizing table grid min and max (#35167)
The specification doesn't say how to deal with percentages when
determining the minimum and maximum size of a table grid, so follow the
approach that Chromium uses.

Essentially, figure out the "missing" percentage from the non-percentage
columns and then use that to work backwards to fine the size of the
percentage ones.

This change is larger than one might expect, because this percentage
approach shouldn't happen for tables that are descendants of a flex,
grid or table container (except when there is an interceding absolute).
We have to pass this information down when building the box tree. This
will also make it easier to improve propagated text decorations in the
future.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-01-27 15:04:37 +00:00
Oriol Brufau
d5fcc5a5d5
layout: Improve fixed table layout (#35170)
If `width` is indefinite, treat the outer size as zero, instead of
treating the content size as zero and then adding padding and borders.

Also, we don't want a default minimum of zero to get added padding and
borders, and then defeat the point baove. So just ignore minimums and
maximums.

That seems to roughly match what other browsers do, but as usual, the
details are not interoperable, e.g. some browsers may obey min or max
sizing properties in some cases.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-27 15:02:32 +00:00
Simon Wülker
859cc6ab9b
Fire slot change events when the slot content changes (#35137)
* Add the onslotchange attribute to ShadowRoot

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Add spec comments to MutationObserver::queue_mutation_observer_microtask

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Add DomRefCell::take

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Add spec comments to notify_mutation_observers

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Fire slotchange events when a slot changes

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* ./mach fmt

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Fix check for when to dispatch slot events

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Potentially fire slot change events in Node::remove

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* ./mach fmt

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Bump stylo

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Move "signal a slot change" into ScriptThread impl

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-01-27 14:13:22 +00:00
shanehandley
cd93841ba1
Remove UTF-8 BOM before parsing JSON (#35175)
Signed-off-by: Shane Handley <shanehandley@fastmail.com>
2025-01-27 12:18:03 +00:00
Servo WPT Sync
7045630fee
Update web-platform-tests to revision b'e5e7dab5e72edd352b17105acce2b8f443face10' (#35174)
Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
2025-01-26 13:36:52 +00:00
webbeef
8748071329
Add support for HTMLStyleElement.media (#35148)
Signed-off-by: webbeef <me@webbeef.org>
2025-01-25 04:34:58 +00:00
Domenico Rizzo
fe5a075766
[35131] Borrow hazard in Document::broadcast_active_resize_observations (#35168)
* removed panic status: added cloned and collect

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>

* applied fmt

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>

---------

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>
2025-01-25 00:42:13 +00:00
Samson
a88b59534f
chore: update wgpu to include pointer_composite_access WGSL language extension (#35161)
* Update wgpu

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* Update expectations

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-01-24 17:33:34 +00:00
Domenico Rizzo
fc1a093976
[#34767] - Range header is missing from CORS header safelist (#35138)
* implemented main feauter, created tests, and modified ini

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>

* corrected tidyness

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>

* Modified general.any.js.ini file

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>

* Removed PASSed tests from ini files

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>

---------

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>
2025-01-24 17:31:27 +00:00
Oriol Brufau
ceebf99280
wpt: Fix references for /css/CSS2/tables/table-anonymous-objects-* (#35166)
Some of these tests were using `no_red_3x3_monospace_table-ref.xht` as
a reference. However, the reference has a single 3x3 table, while the
tests put each row on a different table. Thus text wasn't aligning well,
and the tests were failing on all browsers. Therefore this adds a new
reference for these tests.

Some other tests were instead adding a background on their columns.
These also get their own reference. But additionally, these tests
attempt to work as visual tests by overlapping two tables: one with
green text in front of another with red text. However, this feature
was broken since both tables had a background, so the underlying one
was not visible at all.
Therefore, I'm also removing the background of the table at the front.
Note that these tests come in pairs that just switch which one is in
front, so no functionality is lost.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-24 16:30:27 +00:00
Oriol Brufau
56d55d48d9
wpt: Fix /css/CSS2/tables/anonymous-table-box-width-001.xht (#35162)
This test was failing on all browsers because before the paragraph
"Test passes if there is a filled green square and *no red*" was getting
styled with some unnecessary CSS which is not present in the reference.

Removing this CSS which is irrelevant to the actual table being tested
fixes the problem.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-24 15:44:26 +00:00
Josh Matthews
ac22157491
script: Handle shadow roots when determining common ancestors of dirty roots. (#35132)
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-01-24 01:14:16 +00:00
Gae24
6195026db0
dom: set composed flag when constructing ClipboardEvent (#35146)
* clipboardevent: set composed flag

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>

* add clipboardevent test expectations

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>

---------

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
2025-01-23 18:07:59 +00:00
shanehandley
cca600e909
Update the FormData constructor to allow providing a submitter (#35066)
Signed-off-by: Shane Handley <shanehandley@fastmail.com>
2025-01-23 17:20:44 +00:00
Oriol Brufau
5e5379d3bf
layout: Hide collapsed borders crossed by spanning cells (#35129)
For example, a cell with `rowspan="2"` can cross a collapsed border that
was set on the rows. Now the slice of this row border that is crossed
by the cell will be hidden.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-23 14:23:03 +00:00
Oriol Brufau
8740c03682
layout: Fix table geometry when collapsed borders have different sizes (#35122)
Even though when painting the collapsed borders we were using the right
size, when sizing the table we were treating cells as having a border
of half the maximum border size along the entire grid line.

Now we only take the maximum among the borders adjacent to the cell.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-23 11:17:06 +00:00
Josh Matthews
1d6bd2570f
script: Avoid unwraps in DocumentOrShadowRoot::element_from_point. (#35130)
* script: Handle shadow roots in DocumentOrShadowRoot::element_from_point.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* Clippy fixes.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-01-23 03:04:56 +00:00
Simon Wülker
1b882f2729
Implement Event propagation across shadow roots (#34884)
* Implement Event.composed flag

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Allow composed events to pass shadow boundaries

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-01-22 15:25:16 +00:00
Oriol Brufau
a54add0159
layout: Fix border widths of table wrapper with collapsed borders (#35097)
For a table wrapper in collapsed-borders mode we were just halving the
border widths from the computed style. However, it needs to actually
receive half of the resulting collapsed border, which can be bigger.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-21 15:14:17 +00:00
Oriol Brufau
acfd2e6de4
layout: Fix conflict resolution for collapsed borders differing in color (#35100)
https://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution
> If border styles differ only in color, then a style set on a cell wins
> over one on a row, which wins over a row group, column, column group
> and, lastly, table.

We were actually using the opposite order.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-21 14:34:05 +00:00
Martin Robinson
c17668bb0e
layout: Improve distribution colspan cell inline size (#35095)
We previously tried to implement the [table specification algorithm] for
distributing the inline size of cells with `rowspan` > 1. This algorithm
isn't great though, so this change starts switching Servo to using an
algorithm like the one used in LayoutNG from blink. This leads to
improvements in test results.

Limitations:
 - Currently, non-fixed layout mode is handled, but a followup change will
   very likely addressed fixed mode tables.
 - Column merging is not handled at all.

Fixes #6578.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-01-21 13:29:55 +00:00
Oriol Brufau
d00d76c1e8
layout: Paint collapsed table borders on their own (#35075)
We were previously splitting collapsed borders into two halves, and then
paint each one as part of the corresponding cell. This looked wrong when
the border style wasn't solid, or when a cell spanned multiple tracks
and the border wasn't the same for all of them.

Now the borders of a table wrapper, table grid or table cell aren't
painted in collapsed borders mode. Instead, the resulting collapsed
borders are painted on their own.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-21 13:10:27 +00:00
webbeef
e43baed585
Add support for HTMLStyleElement.type (#35038)
Signed-off-by: webbeef <me@webbeef.org>
2025-01-21 02:21:16 +00:00
Oriol Brufau
9b388da9cb
layout: Fix clientWidth & friends for tables (#35096)
`clientWidth` shouldn't include the borders of a box. The problem was
that we pretend that table wrapper boxes have the border specified on
the table element, even though this border actually applies to the
table grid box instead of the table wrapper box.

Therefore, `clientWidth` was wrong when it subtracted the borders.
This patch fixes it.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-20 17:18:20 +00:00
Oriol Brufau
f6c166533e
layout: Respect alignment when sizing replaced abspos (#35085)
If an absolutely position element which is replaced has `justify-self`
or `align-self` set to `stretch`, and no inset is `auto` on that axis,
then an automatic size should behave as `stretch`, not as `fit-content`.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-20 13:25:00 +00:00
Simon Wülker
c070372d1e
Set descendant's attribute's owner document in Node::adopt (#35076)
* Set descendant's attribute's owner document in Node::adopt

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Add test that adopting an element into a new doc updates the attribute' owner docs

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-01-19 23:06:28 +00:00
Simon Wülker
dabe162d44
Implement shadow dom slots (#35013)
* Implement slot-related algorithms

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Hook up slot elements to DOM creation logic

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Set a slot assignment mode for servo-internal shadow roots

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Assign slots when a slottable's slot attribute changes

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Properly compute slot name

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* ./mach test-tidy

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update <slot> name when name attribute changes

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Implement fast path for Node::assign_slottables_for_a_tree

assign_slottables_for_a_tree traverses all descendants of the node
and is potentially very expensive. If the node is not a shadow root
then assigning slottables to it won't have any effect, so we
take a fast path out.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Move slottable data into ElementRareData

This shrinks all element descendants back to their
original size.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Address review comments

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-01-19 14:05:05 +00:00
Servo WPT Sync
9306f575c9
Update web-platform-tests to revision b'8f3f629756d7351867a8be36d5f217608b9adc61' (#35065)
Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
2025-01-19 01:36:07 +00:00
Martin Robinson
2d09552234
prefs: Move some DebugOptions to Preferences and clean up (#34998)
- Move options configuring antialiasing and WebRender shader precache to
  the `Preferences` to group them with other related WebRender and DOM
  settings.
- Remove the option to disable antialiasing for canvases. This was
  unused.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-01-17 11:47:47 +00:00
Josh Matthews
5295a45a2c
Enable more test directories and preferences (#34952)
* Enable WPT tests for several supported/in progress features.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* Enable more preferences for all WPT tests.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* Update test expectations.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* Disable AbortController preference for tests.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* Update WPT expectations.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-01-17 02:41:09 +00:00
Samson
b92a598e62
chore: Update wgpu and fix webgpu pref (#35020)
* Update wgpu to v24

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* `dom.webgpu.enabled` -> `dom_webgpu_enabled`

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

* Update expectations

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-01-16 14:42:47 +00:00
Oriol Brufau
d58aa7fc04
layout: Allow different collapsed border style/color within a row/column (#35003)
We were previously using the same style and color for two collapsed
borders sharing a coordinate. Now such a line of collapsed borders can
be piecewise and have different colors and styles.

This still doesn't add support for piecewise border widths.

Also, since we are currently painting borders as part of the table and
cell boxes, and a box side can't have a piecewise border, this patch
only really works when:
 - There aren't spanning cells
 - The table has no assigned border (only the cells and tracks have it)

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-01-16 11:24:00 +00:00