servo/tests/wpt/meta/css/css-will-change
haval0 ec88b5d752
layout: Check if root before establishing containing block (#36360)
As per
[w3.org/TR/filter-effects-1#FilterProperty](https://www.w3.org/TR/filter-effects-1/#FilterProperty),
`filter` shouldn't make the root element establish a containing block
for absolute and fixed positioned descendants. `will-change: filter` has
matching behavior.

This PR adds a check for if we are the root element before establishing
such a block.

To know if we are the root element, we look at the `FragmentFlags`
passed in. Previously for our function, these were dummy flags, always
constructed as empty. Thus, this PR also makes sure the correct
FragmentFlags are passed down the chain to the function
`establishes_containing_block_for_all_descendants`.

Testing:
- `/css/filter-effects/filtered-html-is-not-container.html` now passes
- `/css/css-will-change/will-change-fixedpos-cb-003.html` now passes
- Manual tests are working

Fixes: #35391

---------

Signed-off-by: haval0 <56519858+haval0@users.noreply.github.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-04-29 19:19:31 +00:00
..
will-change-abspos-cb-003.html.ini
will-change-fixedpos-cb-004.html.ini
will-change-fixedpos-cb-005.html.ini
will-change-fixpos-cb-contain-1.html.ini
will-change-fixpos-cb-offset-path-1.html.ini
will-change-fixpos-cb-webkit-perspective-1.html.ini
will-change-stacking-context-backdrop-filter-1.html.ini
will-change-stacking-context-mask-1.html.ini
will-change-stacking-context-mask-image-1.html.ini
will-change-stacking-context-offset-path-1.html.ini
will-change-stacking-context-view-transition-name-1.html.ini