mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1077872 - Implement rendering of isolation CSS property. r=roc
This commit is contained in:
parent
8c5e4de5a1
commit
76f0edb969
@ -2313,11 +2313,13 @@ nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder* aBuilder,
|
|||||||
(isPositioned && (disp->mPosition == NS_STYLE_POSITION_STICKY ||
|
(isPositioned && (disp->mPosition == NS_STYLE_POSITION_STICKY ||
|
||||||
pos->mZIndex.GetUnit() == eStyleUnit_Integer)) ||
|
pos->mZIndex.GetUnit() == eStyleUnit_Integer)) ||
|
||||||
(disp->mWillChangeBitField & NS_STYLE_WILL_CHANGE_STACKING_CONTEXT) ||
|
(disp->mWillChangeBitField & NS_STYLE_WILL_CHANGE_STACKING_CONTEXT) ||
|
||||||
|
disp->mIsolation != NS_STYLE_ISOLATION_AUTO ||
|
||||||
isVisuallyAtomic || (aFlags & DISPLAY_CHILD_FORCE_STACKING_CONTEXT);
|
isVisuallyAtomic || (aFlags & DISPLAY_CHILD_FORCE_STACKING_CONTEXT);
|
||||||
|
|
||||||
if (isVisuallyAtomic || isPositioned || (!isSVG && disp->IsFloating(child)) ||
|
if (isVisuallyAtomic || isPositioned || (!isSVG && disp->IsFloating(child)) ||
|
||||||
((disp->mClipFlags & NS_STYLE_CLIP_RECT) &&
|
((disp->mClipFlags & NS_STYLE_CLIP_RECT) &&
|
||||||
IsSVGContentWithCSSClip(child)) ||
|
IsSVGContentWithCSSClip(child)) ||
|
||||||
|
disp->mIsolation != NS_STYLE_ISOLATION_AUTO ||
|
||||||
(disp->mWillChangeBitField & NS_STYLE_WILL_CHANGE_STACKING_CONTEXT) ||
|
(disp->mWillChangeBitField & NS_STYLE_WILL_CHANGE_STACKING_CONTEXT) ||
|
||||||
(aFlags & DISPLAY_CHILD_FORCE_STACKING_CONTEXT)) {
|
(aFlags & DISPLAY_CHILD_FORCE_STACKING_CONTEXT)) {
|
||||||
// If you change this, also change IsPseudoStackingContextFromStyle()
|
// If you change this, also change IsPseudoStackingContextFromStyle()
|
||||||
|
15
layout/reftests/css-blending/blend-isolation-ref.html
Normal file
15
layout/reftests/css-blending/blend-isolation-ref.html
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<!--
|
||||||
|
Any copyright is dedicated to the Public Domain.
|
||||||
|
http://creativecommons.org/publicdomain/zero/1.0/
|
||||||
|
-->
|
||||||
|
<html>
|
||||||
|
<style>
|
||||||
|
#a {
|
||||||
|
background-color: rgb(0,255,0);
|
||||||
|
width: 200px;
|
||||||
|
height: 210px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div id="a">
|
||||||
|
</div>
|
||||||
|
</html>
|
28
layout/reftests/css-blending/blend-isolation.html
Normal file
28
layout/reftests/css-blending/blend-isolation.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<!--
|
||||||
|
Any copyright is dedicated to the Public Domain.
|
||||||
|
http://creativecommons.org/publicdomain/zero/1.0/
|
||||||
|
-->
|
||||||
|
<html>
|
||||||
|
<style>
|
||||||
|
.a {
|
||||||
|
background-color: rgb(0,255,0);
|
||||||
|
}
|
||||||
|
#b {
|
||||||
|
width: 200px;
|
||||||
|
height: 210px;
|
||||||
|
}
|
||||||
|
.c {
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
mix-blend-mode: difference;
|
||||||
|
}
|
||||||
|
#d {
|
||||||
|
isolation: isolate;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div id="b" class="a">
|
||||||
|
<div id="d">
|
||||||
|
<div class="a c"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</html>
|
@ -84,3 +84,6 @@ pref(layout.css.background-blend-mode.enabled,true) == background-blend-mode-bod
|
|||||||
pref(layout.css.background-blend-mode.enabled,true) == background-blend-mode-body-transparent-image.html background-blend-mode-body-transparent-image-ref.html
|
pref(layout.css.background-blend-mode.enabled,true) == background-blend-mode-body-transparent-image.html background-blend-mode-body-transparent-image-ref.html
|
||||||
|
|
||||||
pref(layout.css.background-blend-mode.enabled,true) == background-blending-moz-element.html background-blending-moz-element-ref.html
|
pref(layout.css.background-blend-mode.enabled,true) == background-blending-moz-element.html background-blending-moz-element-ref.html
|
||||||
|
|
||||||
|
# Test plan 4.4.2 element with isolation:isolate creates an isolated group for blended children
|
||||||
|
pref(layout.css.isolation.enabled,true) == blend-isolation.html blend-isolation-ref.html
|
||||||
|
Loading…
Reference in New Issue
Block a user