Bug 1277991 - We don't need to check ShouldBlockAsyncTransformAnimations() when we just want to know whether the frame has transform animations or not. r=birtles

MozReview-Commit-ID: HYZCKoK62Fq

--HG--
extra : rebase_source : 5e389ab4f9695312f05515b3432d8cf285fbec2f
This commit is contained in:
Hiroyuki Ikezoe 2016-06-06 11:27:27 +09:00
parent ed7bec1506
commit d85954cbf5
4 changed files with 51 additions and 1 deletions

View File

@ -556,7 +556,7 @@ nsFrame::Init(nsIContent* aContent,
}
const nsStyleDisplay *disp = StyleDisplay();
if (disp->HasTransform(this) ||
EffectCompositor::HasAnimationsForCompositor(this,
nsLayoutUtils::HasCurrentAnimationOfProperty(this,
eCSSProperty_transform)) {
// The frame gets reconstructed if we toggle the -moz-transform
// property, so we can set this bit here and then ignore it.

View File

@ -9,3 +9,5 @@ fails != print-no-animations.html print-no-animations-notref.html # reftest harn
== partially-out-of-view-animation.html partially-out-of-view-animation-ref.html
== animate-display-table-opacity.html animate-display-table-opacity-ref.html
== stacking-context-transform-none-animation.html stacking-context-transform-animation-ref.html
== stacking-context-transform-none-animation-on-svg.html stacking-context-transform-animation-ref.html
== stacking-context-transform-none-animation-with-preserve-3d.html stacking-context-transform-animation-ref.html

View File

@ -0,0 +1,22 @@
<!DOCTYPE html>
<title>Transform animation creates a stacking context even though it has only
'transform:none' keyframes on an svg element</title>
<style>
span {
height: 100px;
width: 100px;
position: fixed;
background: green;
top: 50px;
}
@keyframes TransformNone {
from, to { transform: none }
}
#test {
animation: TransformNone 100s infinite;
}
</style>
<span></span>
<svg id="test" width="100px" height="100px">
<rect x="0" y="0" width="100%" height="100%" fill="blue"/>
</svg>

View File

@ -0,0 +1,26 @@
<!DOCTYPE html>
<title>
Transform animation creates a stacking context even though it has only
'transform:none' keyframes and with a style which prevents performning
the animation on the compositor.
</title>
<style>
span {
height: 100px;
width: 100px;
position: fixed;
background: green;
top: 50px;
}
@keyframes TransformNone {
from, to { transform: none }
}
#test {
width: 100px; height: 100px;
background: blue;
transform-style: preserve-3d;
animation: TransformNone 100s infinite;
}
</style>
<span></span>
<div id="test"></div>