Bug 1460389 - Reftests for opacity and transform animations that are sent to the compositor in their delay phase. r=birtles
authorHiroyuki Ikezoe <hikezoe@mozilla.com>
Tue, 15 May 2018 09:08:49 +0900
changeset 472647 63988e7c891f8d664f428fbaf91d9b181e3557e1
parent 472646 bfc8fa6e75a22e4b170d74803df145f386d632ff
child 472648 920d49a96e6ec78991466cb5e1850c81d39937f2
push id9374
push userjlund@mozilla.com
push dateMon, 18 Jun 2018 21:43:20 +0000
treeherdermozilla-beta@160e085dfb0b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbirtles
bugs1460389
milestone62.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1460389 - Reftests for opacity and transform animations that are sent to the compositor in their delay phase. r=birtles Both tests fail on WebRender without the fix in this patch series. In the delay phase, those animations should be painted using non-animated value (i.e. opacity:0 or translateX(100px)), but on WebRender they were painted using opacity: 1 or identity transform. MozReview-Commit-ID: DOHopfleWB0
layout/reftests/css-animations/opacity-animation-in-delay.html
layout/reftests/css-animations/reftest.list
layout/reftests/css-animations/transform-animation-in-delay-ref.html
layout/reftests/css-animations/transform-animation-in-delay.html
new file mode 100644
--- /dev/null
+++ b/layout/reftests/css-animations/opacity-animation-in-delay.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html class="reftest-wait reftest-no-flush">
+<style>
+@keyframes anim {
+ from { opacity: 0.5; }
+ to { opacity: 0.5; }
+}
+div {
+  background: green;
+  width: 100px;
+  height: 100px;
+  animation: anim 100s 100s;
+  opacity: 0;
+}
+</style>
+<div></div>
+<script>
+requestAnimationFrame(() => {
+  document.documentElement.classList.remove('reftest-wait');
+});
+</script>
+</html>
--- a/layout/reftests/css-animations/reftest.list
+++ b/layout/reftests/css-animations/reftest.list
@@ -63,8 +63,10 @@ fails-if(layerChecksEnabled) == backgrou
 == change-animation-name-to-other-in-rule.html change-animation-name-in-rule-ref.html
 == change-animation-name-to-non-existent-in-rule.html change-animation-name-in-rule-ref.html
 == no-style-sharing-with-animations.html no-style-sharing-with-animations-ref.html
 
 == continuation-opacity.html continuation-opacity-ref.html
 == ib-split-sibling-opacity.html about:blank
 
 == opacity-animation-in-fixed-opacity-parent.html opacity-animation-in-fixed-opacity-parent-ref.html
+== opacity-animation-in-delay.html about:blank
+== transform-animation-in-delay.html transform-animation-in-delay-ref.html
new file mode 100644
--- /dev/null
+++ b/layout/reftests/css-animations/transform-animation-in-delay-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+<style>
+div {
+  background: green;
+  width: 100px;
+  height: 100px;
+  animation: anim 100s 100s;
+  transform: translateX(100px);
+}
+</style>
+<div></div>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/css-animations/transform-animation-in-delay.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html class="reftest-wait reftest-no-flush">
+<style>
+@keyframes anim {
+  from { transform: scale(2); }
+  to { transform: scale(2); }
+}
+div {
+  background: green;
+  width: 100px;
+  height: 100px;
+  animation: anim 100s 100s;
+  transform: translateX(100px);
+}
+</style>
+<div></div>
+<script>
+requestAnimationFrame(() => {
+  document.documentElement.classList.remove('reftest-wait');
+});
+</script>
+</html>