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

@ -5,6 +5,7 @@
use app_units::Au;
use style::color::AbsoluteColor;
use style::computed_values::direction::T as Direction;
use style::computed_values::isolation::T as ComputedIsolation;
use style::computed_values::mix_blend_mode::T as ComputedMixBlendMode;
use style::computed_values::position::T as ComputedPosition;
use style::computed_values::transform_style::T as ComputedTransformStyle;
@ -602,6 +603,10 @@ impl ComputedValuesExt for ComputedValues {
return true;
}
if self.get_box().isolation == ComputedIsolation::Isolate {
return true;
}
// Fixed position and sticky position always create stacking contexts.
// TODO(mrobinson): We need to handle sticky positioning here when we support it.
if self.get_box().position == ComputedPosition::Fixed {