Bug 568392. Part 4: Add reftests for scrolling.
authorRobert O'Callahan <robert@ocallahan.org>
Fri, 18 Jun 2010 21:18:42 +1200
changeset 43772 1e2a5a66b9d7f8be98e667f8a3f390457951031c
parent 43771 910c3d31a381fdc1bf26e0293eb40180d42b66c5
child 43773 41553c0928e14ae694672e760f9ee83b8b02868b
push idunknown
push userunknown
push dateunknown
bugs568392
milestone1.9.3a6pre
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 568392. Part 4: Add reftests for scrolling.
layout/reftests/reftest.list
layout/reftests/scrolling/fixed-1.html
layout/reftests/scrolling/opacity-mixed-scrolling-1.html
layout/reftests/scrolling/reftest.list
layout/reftests/scrolling/repeatable-diagonal-gradient.png
layout/reftests/scrolling/scrolling.js
layout/reftests/scrolling/simple-1.html
--- a/layout/reftests/reftest.list
+++ b/layout/reftests/reftest.list
@@ -158,16 +158,19 @@ include pixel-rounding/reftest.list
 
 # plugin/
 include ../../modules/plugin/test/reftest/reftest.list
 
 # printing
 include printing/reftest.list
 include pagination/reftest.list
 
+# scrolling
+include scrolling/reftest.list
+
 # selection
 include selection/reftest.list
 
 # svg/
 include svg/reftest.list
 
 # tab-size/
 include tab-size/reftest.list
new file mode 100644
--- /dev/null
+++ b/layout/reftests/scrolling/fixed-1.html
@@ -0,0 +1,3 @@
+<body class="scrollTop" style="height:2000px; overflow:hidden">
+<script src="scrolling.js"></script>
+<div style="height:300px; background:url(repeatable-diagonal-gradient.png) fixed;"></div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/scrolling/opacity-mixed-scrolling-1.html
@@ -0,0 +1,7 @@
+<script src="scrolling.js"></script>
+<div class="scrollTop" style="overflow:auto; width:200px; height:200px;">
+  <div style="margin:70px 20px; opacity:0.5; height:400px; background:yellow;">
+    <div style="position:absolute; background:yellow; width:50px; height:100px; top: 0; left:50px;">
+    </div>
+  </div>
+</div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/scrolling/reftest.list
@@ -0,0 +1,3 @@
+HTTP == fixed-1.html fixed-1.html?ref
+HTTP == opacity-mixed-scrolling-1.html opacity-mixed-scrolling-1.html?ref
+HTTP == simple-1.html simple-1.html?ref
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..d114e100d322161c443aabffd7bd428e5c88d3ad
GIT binary patch
literal 14520
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
H9b^6vR*RHv
new file mode 100644
--- /dev/null
+++ b/layout/reftests/scrolling/scrolling.js
@@ -0,0 +1,22 @@
+var topElements = document.getElementsByClassName("scrollTop");
+if (!topElements.length) {
+  topElements = [document.body];
+}
+
+function doScroll(d)
+{
+  for (var i = 0; i < topElements.length; ++i) {
+    topElements[i].scrollTop = d;
+  }
+}
+
+if (document.location.search == '?ref') {
+  doScroll(20);
+} else {
+  doScroll(1);
+  document.documentElement.setAttribute("class", "reftest-wait");
+  window.addEventListener("MozReftestInvalidate", function() {
+    document.documentElement.removeAttribute("class");
+    doScroll(20);
+  }, false);
+}
new file mode 100644
--- /dev/null
+++ b/layout/reftests/scrolling/simple-1.html
@@ -0,0 +1,3 @@
+<body class="scrollTop" style="height:2000px; overflow:hidden">
+<script src="scrolling.js"></script>
+<div style="height:300px; background:url(repeatable-diagonal-gradient.png);"></div>