Support for the isolation CSS property (#35552)

* Support for the isolation CSS property

Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>

* Temporarily bump stylo to refs/pull/125/head for testing

Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>

* Remove FAIL expectation of CSS isolation tests

Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>

* Add behavior test

Signed-off-by: Oriol Brufau <obrufau@igalia.com>

* Revert temporary changes in Cargo.toml

Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>

---------

Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
Kingsley Yung 2025-02-25 00:25:34 +08:00 committed by GitHub
parent d42146ce91
commit fc14b10099
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 60 additions and 144 deletions

View file

@ -122597,6 +122597,21 @@
]
]
},
"isolation": {
"isolation-establishes-stacking-context.html": [
"78d3b82caaccc6c14f1f62039a1554c1f18c4d83",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
]
},
"mix-blend-mode": {
"mix-blend-mode-animation.html": [
"55618485d880d20668e7ab9d1379ef8792af5fe2",

View file

@ -4,9 +4,3 @@
[Property background-blend-mode does not inherit]
expected: FAIL
[Property isolation has initial value auto]
expected: FAIL
[Property isolation does not inherit]
expected: FAIL

View file

@ -1,67 +1,4 @@
[isolation-no-interpolation.html]
[CSS Transitions: property <isolation> from [initial\] to [isolate\] at (-0.3) should be [initial\]]
expected: FAIL
[CSS Transitions: property <isolation> from [initial\] to [isolate\] at (0) should be [initial\]]
expected: FAIL
[CSS Transitions: property <isolation> from [initial\] to [isolate\] at (0.3) should be [initial\]]
expected: FAIL
[CSS Transitions: property <isolation> from [initial\] to [isolate\] at (0.5) should be [isolate\]]
expected: FAIL
[CSS Transitions: property <isolation> from [initial\] to [isolate\] at (0.6) should be [isolate\]]
expected: FAIL
[CSS Transitions: property <isolation> from [initial\] to [isolate\] at (1) should be [isolate\]]
expected: FAIL
[CSS Transitions: property <isolation> from [initial\] to [isolate\] at (1.5) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition: all: property <isolation> from [initial\] to [isolate\] at (-0.3) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition: all: property <isolation> from [initial\] to [isolate\] at (0) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition: all: property <isolation> from [initial\] to [isolate\] at (0.3) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition: all: property <isolation> from [initial\] to [isolate\] at (0.5) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition: all: property <isolation> from [initial\] to [isolate\] at (0.6) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition: all: property <isolation> from [initial\] to [isolate\] at (1) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition: all: property <isolation> from [initial\] to [isolate\] at (1.5) should be [isolate\]]
expected: FAIL
[CSS Animations: property <isolation> from [initial\] to [isolate\] at (-0.3) should be [initial\]]
expected: FAIL
[CSS Animations: property <isolation> from [initial\] to [isolate\] at (0) should be [initial\]]
expected: FAIL
[CSS Animations: property <isolation> from [initial\] to [isolate\] at (0.3) should be [initial\]]
expected: FAIL
[CSS Animations: property <isolation> from [initial\] to [isolate\] at (0.5) should be [isolate\]]
expected: FAIL
[CSS Animations: property <isolation> from [initial\] to [isolate\] at (0.6) should be [isolate\]]
expected: FAIL
[CSS Animations: property <isolation> from [initial\] to [isolate\] at (1) should be [isolate\]]
expected: FAIL
[CSS Animations: property <isolation> from [initial\] to [isolate\] at (1.5) should be [isolate\]]
expected: FAIL
[Web Animations: property <isolation> from [initial\] to [isolate\] at (-0.3) should be [initial\]]
expected: FAIL
@ -82,54 +19,3 @@
[Web Animations: property <isolation> from [initial\] to [isolate\] at (1.5) should be [isolate\]]
expected: FAIL
[CSS Transitions: property <isolation> from [initial\] to [isolate\] at (-0.3) should be [isolate\]]
expected: FAIL
[CSS Transitions: property <isolation> from [initial\] to [isolate\] at (0) should be [isolate\]]
expected: FAIL
[CSS Transitions: property <isolation> from [initial\] to [isolate\] at (0.3) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition-behavior:allow-discrete: property <isolation> from [initial\] to [isolate\] at (-0.3) should be [initial\]]
expected: FAIL
[CSS Transitions with transition-behavior:allow-discrete: property <isolation> from [initial\] to [isolate\] at (0) should be [initial\]]
expected: FAIL
[CSS Transitions with transition-behavior:allow-discrete: property <isolation> from [initial\] to [isolate\] at (0.3) should be [initial\]]
expected: FAIL
[CSS Transitions with transition-behavior:allow-discrete: property <isolation> from [initial\] to [isolate\] at (0.5) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition-behavior:allow-discrete: property <isolation> from [initial\] to [isolate\] at (0.6) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition-behavior:allow-discrete: property <isolation> from [initial\] to [isolate\] at (1) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition-behavior:allow-discrete: property <isolation> from [initial\] to [isolate\] at (1.5) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <isolation> from [initial\] to [isolate\] at (-0.3) should be [initial\]]
expected: FAIL
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <isolation> from [initial\] to [isolate\] at (0) should be [initial\]]
expected: FAIL
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <isolation> from [initial\] to [isolate\] at (0.3) should be [initial\]]
expected: FAIL
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <isolation> from [initial\] to [isolate\] at (0.5) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <isolation> from [initial\] to [isolate\] at (0.6) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <isolation> from [initial\] to [isolate\] at (1) should be [isolate\]]
expected: FAIL
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <isolation> from [initial\] to [isolate\] at (1.5) should be [isolate\]]
expected: FAIL

View file

@ -1,6 +0,0 @@
[isolation-computed.html]
[Property isolation value 'auto']
expected: FAIL
[Property isolation value 'isolate']
expected: FAIL

View file

@ -1,6 +0,0 @@
[isolation-valid.html]
[e.style['isolation'\] = "auto" should set the property value]
expected: FAIL
[e.style['isolation'\] = "isolate" should set the property value]
expected: FAIL

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Compositing and Blending: The isolation property</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
<link rel="help" href="https://www.w3.org/TR/compositing-1/#isolation">
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
<meta name="assert" content="For CSS, setting `isolation` to `isolate` will turn the element into a stacking context.">
<style>
#parent {
width: 100px;
height: 100px;
isolation: isolate;
background: red;
}
#child {
width: 100px;
height: 100px;
position: relative;
z-index: -1;
background: green;
}
</style>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="parent">
<div id="child"></div>
</div>