Bug 1077872 - Implement rendering of isolation CSS property. r=roc

This commit is contained in:
Rik Cabanier 2014-10-13 14:03:00 +02:00
Родитель 62628a69a2
Коммит 644cf4f5f0
4 изменённых файлов: 47 добавлений и 0 удалений

Просмотреть файл

@ -2313,6 +2313,7 @@ nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder* aBuilder,
(isPositioned && (disp->mPosition == NS_STYLE_POSITION_STICKY ||
pos->mZIndex.GetUnit() == eStyleUnit_Integer)) ||
(disp->mWillChangeBitField & NS_STYLE_WILL_CHANGE_STACKING_CONTEXT) ||
disp->mIsolation != NS_STYLE_ISOLATION_AUTO ||
isVisuallyAtomic || (aFlags & DISPLAY_CHILD_FORCE_STACKING_CONTEXT);
if (isVisuallyAtomic || isPositioned || (!isSVG && disp->IsFloating(child)) ||

Просмотреть файл

@ -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>

Просмотреть файл

@ -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-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