Bug 1443027 - Add two new tests for merging behaviour. r=mstange
☠☠ backed out by 0405f6006f3a ☠ ☠
authorMatt Woodrow <mwoodrow@mozilla.com>
Fri, 23 Mar 2018 12:20:40 +1300
changeset 775168 e04979dd66be1709557e2aa09deb3f838d449a29
parent 775167 c1ee3abb5d406cdc9f3726176b2f84ee1b48e3bb
child 775169 5deb310542a943a654533cbfb593f62587647b09
push id104638
push userbmo:jlorenzo@mozilla.com
push dateFri, 30 Mar 2018 13:27:33 +0000
reviewersmstange
bugs1443027
milestone61.0a1
Bug 1443027 - Add two new tests for merging behaviour. r=mstange MozReview-Commit-ID: G5vgtSCdRZP
layout/reftests/display-list/1443027-1.html
layout/reftests/display-list/1443027-2.html
layout/reftests/display-list/1443027-3-ref.html
layout/reftests/display-list/1443027-3.html
layout/reftests/display-list/1443027-ref.html
layout/reftests/display-list/reftest.list
new file mode 100644
--- /dev/null
+++ b/layout/reftests/display-list/1443027-1.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<html lang="en" class="reftest-wait"><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta charset="utf-8">
+<title>Bug 1443027 - Test merging across multiple paints</title>
+
+<style>
+
+body { opacity: 0.9; }
+
+div {
+  position: absolute;
+}
+
+#A {
+  left: 250px;
+  top: 50px;
+  width: 100px;
+  height: 100px;
+  background-color: red;
+}
+
+#B {
+  left: 200px;
+  top: 0px;
+  width: 100px;
+  height: 100px;
+  background-color: yellow;
+}
+
+#C {
+  left: 0px;
+  top: 0px;
+  width: 100px;
+  height: 100px;
+  background-color: green;
+}
+
+#D {
+  left: 80px;
+  top: 20px;
+  width: 140px;
+  height: 100px;
+  background-color: blue;
+}
+
+</style>
+</head>
+<body>
+<div id="A"></div>
+<div id="B"></div>
+<div id="C"></div>
+<div id="D"></div>
+
+<script>
+
+var A = document.getElementById("A");
+var B = document.getElementById("B");
+var C = document.getElementById("C");
+var D = document.getElementById("D");
+
+A.style.visibility = "hidden";
+B.style.visibility = "hidden";
+C.style.visibility = "hidden";
+D.style.visibility = "hidden";
+
+window.addEventListener("MozReftestInvalidate", step1);
+
+function step1() {
+  C.style.visibility = "visible";
+  C.style.transform = "translatez(1px)";
+  D.style.visibility = "visible";
+  D.style.transform = "translatez(1px)";
+
+  window.requestAnimationFrame(function() { window.requestAnimationFrame(step2); });
+}
+
+function step2() {
+  A.style.visibility = "visible";
+  A.style.transform = "translatez(1px)";
+  B.style.visibility = "visible";
+  B.style.transform = "translatez(1px)";
+
+  window.requestAnimationFrame(step3);
+}
+
+function step3() {
+  D.style.visibility = "hidden";
+  D.style.transform = "";
+  document.documentElement.removeAttribute('class');
+}
+
+</script>
+</body></html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/display-list/1443027-2.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<html lang="en" class="reftest-wait"><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta charset="utf-8">
+<title>Bug 1443027 - Test merging across multiple paints</title>
+
+<style>
+
+body { opacity: 0.9; }
+
+div {
+  position: absolute;
+}
+
+#A {
+  left: 250px;
+  top: 50px;
+  width: 100px;
+  height: 100px;
+  background-color: red;
+}
+
+#B {
+  left: 200px;
+  top: 0px;
+  width: 100px;
+  height: 100px;
+  background-color: yellow;
+}
+
+#C {
+  left: 0px;
+  top: 0px;
+  width: 100px;
+  height: 100px;
+  background-color: green;
+}
+
+#D {
+  left: 80px;
+  top: 20px;
+  width: 140px;
+  height: 100px;
+  background-color: blue;
+}
+
+</style>
+</head>
+<body>
+<div id="A"></div>
+<div id="B"></div>
+<div id="C"></div>
+<div id="D"></div>
+
+<script>
+
+var A = document.getElementById("A");
+var B = document.getElementById("B");
+var C = document.getElementById("C");
+var D = document.getElementById("D");
+
+A.style.visibility = "hidden";
+B.style.visibility = "hidden";
+C.style.visibility = "hidden";
+D.style.visibility = "hidden";
+
+window.addEventListener("MozReftestInvalidate", step1);
+
+function step1() {
+  A.style.visibility = "visible";
+  A.style.transform = "translatez(1px)";
+  B.style.visibility = "visible";
+  B.style.transform = "translatez(1px)";
+  D.style.visibility = "visible";
+  D.style.transform = "translatez(1px)";
+
+  window.requestAnimationFrame(function() { window.requestAnimationFrame(step2); });
+}
+
+function step2() {
+  C.style.visibility = "visible";
+  C.style.transform = "translatez(1px)";
+
+  window.requestAnimationFrame(step3);
+}
+
+function step3() {
+  D.style.visibility = "hidden";
+  D.style.transform = "";
+  document.documentElement.removeAttribute('class');
+}
+
+</script>
+</body></html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/display-list/1443027-3-ref.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en"><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta charset="utf-8">
+<title>Bug 1443027 - Test merging across multiple paints</title>
+
+<style>
+
+body { opacity: 0.9; }
+
+div {
+  position: absolute;
+  transform: translatez(1px);
+}
+
+#A {
+  left: 250px;
+  top: 50px;
+  width: 100px;
+  height: 100px;
+  background-color: red;
+}
+
+#B {
+  left: 200px;
+  top: 0px;
+  width: 100px;
+  height: 100px;
+  background-color: yellow;
+}
+
+#C {
+  left: 0px;
+  top: 0px;
+  width: 100px;
+  height: 100px;
+  background-color: green;
+}
+
+#D {
+  left: 80px;
+  top: 20px;
+  width: 140px;
+  height: 100px;
+  background-color: blue;
+}
+
+</style>
+</head>
+<body>
+<div id="A"></div>
+<div id="B"></div>
+<div id="D"></div>
+<div id="C"></div>
+</body></html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/display-list/1443027-3.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<html lang="en" class="reftest-wait"><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta charset="utf-8">
+<title>Bug 1443027 - Test merging across multiple paints</title>
+
+<style>
+
+body { opacity: 0.9; }
+
+div {
+  position: absolute;
+}
+
+#A {
+  left: 250px;
+  top: 50px;
+  width: 100px;
+  height: 100px;
+  background-color: red;
+}
+
+#B {
+  left: 200px;
+  top: 0px;
+  width: 100px;
+  height: 100px;
+  background-color: yellow;
+}
+
+#C {
+  left: 0px;
+  top: 0px;
+  width: 100px;
+  height: 100px;
+  background-color: green;
+}
+
+#D {
+  left: 80px;
+  top: 20px;
+  width: 140px;
+  height: 100px;
+  background-color: blue;
+}
+
+</style>
+</head>
+<body>
+<div id="A"></div>
+<div id="B"></div>
+<div id="D"></div>
+<div id="C"></div>
+
+<script>
+
+var A = document.getElementById("A");
+var B = document.getElementById("B");
+var C = document.getElementById("C");
+var D = document.getElementById("D");
+
+A.style.visibility = "hidden";
+B.style.visibility = "hidden";
+C.style.visibility = "hidden";
+D.style.visibility = "hidden";
+
+window.addEventListener("MozReftestInvalidate", step1);
+
+function step1() {
+  A.style.visibility = "visible";
+  A.style.transform = "translatez(1px)";
+
+  window.requestAnimationFrame(function() { window.requestAnimationFrame(step2); });
+}
+
+function step2() {
+  C.style.visibility = "visible";
+  C.style.transform = "translatez(1px)";
+  D.style.visibility = "visible";
+  D.style.transform = "translatez(1px)";
+
+  window.requestAnimationFrame(step3);
+}
+
+function step3() {
+  B.style.visibility = "visible";
+  B.style.transform = "translatez(1px)";
+  document.documentElement.removeAttribute('class');
+}
+
+</script>
+</body></html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/display-list/1443027-ref.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en"><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta charset="utf-8">
+<title>Bug 1443027 - Test merging across multiple paints</title>
+
+<style>
+
+body { opacity: 0.9; }
+
+div {
+  position: absolute;
+  transform: translatez(1px);
+}
+
+#A {
+  left: 250px;
+  top: 50px;
+  width: 100px;
+  height: 100px;
+  background-color: red;
+}
+
+#B {
+  left: 200px;
+  top: 0px;
+  width: 100px;
+  height: 100px;
+  background-color: yellow;
+}
+
+#C {
+  left: 0px;
+  top: 0px;
+  width: 100px;
+  height: 100px;
+  background-color: green;
+}
+
+</style>
+</head>
+<body>
+<div id="A"></div>
+<div id="B"></div>
+<div id="C"></div>
+</body></html>
--- a/layout/reftests/display-list/reftest.list
+++ b/layout/reftests/display-list/reftest.list
@@ -18,9 +18,11 @@ skip-if(Android) == 1428993-1.html 14289
 == 1420480-1.html 1420480-1-ref.html
 == 1428993-2.html 1428993-2-ref.html
 needs-focus == 1429027-1.html 1429027-1-ref.html
 == 1432553-1.html 1432553-1-ref.html
 == 1432553-2.html 1432553-2-ref.html
 == 1436189-1.html 1436189-1-ref.html
 skip-if(!asyncPan) == 1437374-1.html 1437374-1-ref.html
 == 1439809-1.html 1439809-1-ref.html
-
+== 1443027-1.html 1443027-ref.html
+== 1443027-2.html 1443027-ref.html
+== 1443027-3.html 1443027-3-ref.html