Bug 1411627 - Add reftests. r?mstange draft
authorKartikaya Gupta <kgupta@mozilla.com>
Tue, 07 Nov 2017 10:16:54 -0500
changeset 694248 146bed0eaab07a01fdf2a90986f405ac874ec252
parent 694247 7267fe056e173a3730ee270e172aa83beaf58de6
child 739292 993b7d73ddf4e2993b53b1ed9c1b9da8c67d8646
push id88084
push userkgupta@mozilla.com
push dateTue, 07 Nov 2017 15:18:14 +0000
reviewersmstange
bugs1411627
milestone58.0a1
Bug 1411627 - Add reftests. r?mstange MozReview-Commit-ID: apbFCe2uzF
layout/reftests/async-scrolling/reftest.list
layout/reftests/async-scrolling/sticky-pos-scrollable-4-ref.html
layout/reftests/async-scrolling/sticky-pos-scrollable-4.html
layout/reftests/async-scrolling/sticky-pos-scrollable-5-ref.html
layout/reftests/async-scrolling/sticky-pos-scrollable-5.html
layout/reftests/async-scrolling/sticky-pos-scrollable-6-ref.html
layout/reftests/async-scrolling/sticky-pos-scrollable-6.html
--- a/layout/reftests/async-scrolling/reftest.list
+++ b/layout/reftests/async-scrolling/reftest.list
@@ -23,16 +23,19 @@ skip-if(!asyncPan) == position-fixed-cov
 skip-if(!asyncPan) == position-fixed-cover-3.html position-fixed-cover-3-ref.html
 fuzzy-if(Android,5,4) skip-if(!asyncPan) == position-fixed-transformed-1.html position-fixed-transformed-1-ref.html
 skip-if(!asyncPan) == split-layers-1.html split-layers-1-ref.html
 skip-if(!asyncPan) == split-layers-multi-scrolling-1.html split-layers-multi-scrolling-1-ref.html
 fuzzy-if(skiaContent,2,240000) fuzzy-if(browserIsRemote&&!skiaContent&&(cocoaWidget||winWidget),1,240000) skip-if(!asyncPan) == split-opacity-layers-1.html split-opacity-layers-1-ref.html
 skip-if(!asyncPan) == sticky-pos-scrollable-1.html sticky-pos-scrollable-1-ref.html
 skip-if(!asyncPan) == sticky-pos-scrollable-2.html sticky-pos-scrollable-2-ref.html
 skip-if(!asyncPan) == sticky-pos-scrollable-3.html sticky-pos-scrollable-3-ref.html
+skip-if(!asyncPan) == sticky-pos-scrollable-4.html sticky-pos-scrollable-4-ref.html
+skip-if(!asyncPan) == sticky-pos-scrollable-5.html sticky-pos-scrollable-5-ref.html
+skip-if(!asyncPan) == sticky-pos-scrollable-6.html sticky-pos-scrollable-6-ref.html
 skip-if(!asyncPan) == fixed-pos-scrollable-1.html fixed-pos-scrollable-1-ref.html
 skip-if(!asyncPan) == culling-1.html culling-1-ref.html
 skip-if(!asyncPan) == position-fixed-iframe-1.html position-fixed-iframe-1-ref.html
 skip-if(!asyncPan) == position-fixed-iframe-2.html position-fixed-iframe-2-ref.html
 fuzzy-if(skiaContent,1,11300) skip-if(!asyncPan) == position-fixed-in-scroll-container.html position-fixed-in-scroll-container-ref.html
 skip-if(!asyncPan) == position-fixed-inside-clip-path.html position-fixed-inside-clip-path-ref.html
 skip-if(!asyncPan) == position-fixed-inside-sticky-1.html position-fixed-inside-sticky-1-ref.html
 skip-if(!asyncPan) == position-fixed-inside-sticky-2.html position-fixed-inside-sticky-2-ref.html
new file mode 100644
--- /dev/null
+++ b/layout/reftests/async-scrolling/sticky-pos-scrollable-4-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE HTML>
+<html>
+<body>
+  <div style="width:400px; height:300px; overflow:hidden; border:2px solid black">
+    <div style="height: 150px"></div>
+    <div style="width: 100px; height: 100px; background-color: green"></div>
+  </div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/async-scrolling/sticky-pos-scrollable-4.html
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML>
+<html reftest-async-scroll>
+<body>
+  <div style="width:400px; height:300px; overflow:hidden; border:2px solid black"
+       reftest-displayport-x="0" reftest-displayport-y="0"
+       reftest-displayport-w="800" reftest-displayport-h="2000"
+       reftest-async-scroll-x="0" reftest-async-scroll-y="100">
+    <!-- In this test the position:sticky element has already been adjusted by
+         the main thread paint, and the async scroll causes a reduction in that
+         adjustment. -->
+    <div style="height: 1000px"></div>
+    <div style="position:sticky; width: 100px; height: 100px; bottom: 50px; background-color: green"></div>
+    <div style="height: 1000px"></div>
+  </div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/async-scrolling/sticky-pos-scrollable-5-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE HTML>
+<html>
+<body>
+  <div style="width:400px; height:300px; overflow:hidden; border:2px solid black">
+    <div style="height: 150px"></div>
+    <div style="width: 100px; height: 100px; background-color: green"></div>
+  </div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/async-scrolling/sticky-pos-scrollable-5.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML>
+<html reftest-async-scroll>
+<body>
+  <div style="width:400px; height:300px; overflow:hidden; border:2px solid black"
+       reftest-displayport-x="0" reftest-displayport-y="0"
+       reftest-displayport-w="800" reftest-displayport-h="2000"
+       reftest-async-scroll-x="0" reftest-async-scroll-y="150">
+    <!-- In this test the position:sticky element has already been adjusted by
+         the main thread paint, and then clamped by the bounding container. The
+         async scroll causes a reduction in that adjustment, but by less than
+         the amount of the scroll (because of the clamping). -->
+    <div style="height: 500px; margin-top: 250px; margin-bottom: 250px">
+      <div style="width: 100px; height: 300px"></div>
+      <div style="position:sticky; width: 100px; height: 100px; bottom: 50px; background-color: green"></div>
+    </div>
+  </div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/async-scrolling/sticky-pos-scrollable-6-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE HTML>
+<html>
+<body>
+  <div style="width:400px; height:300px; overflow:hidden; border:2px solid black">
+    <div style="height: 151px"></div>
+    <div style="width: 100px; height: 100px; background-color: green"></div>
+  </div>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/async-scrolling/sticky-pos-scrollable-6.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML>
+<html reftest-async-scroll>
+<body>
+  <div style="width:400px; height:300px; overflow:hidden; border:2px solid black"
+       reftest-displayport-x="0" reftest-displayport-y="0"
+       reftest-displayport-w="800" reftest-displayport-h="2000"
+       reftest-async-scroll-x="0" reftest-async-scroll-y="300">
+    <!-- In this test the position:sticky element is over-constrained with the
+         top-positioning taking priority over the bottom-positioning. -->
+    <div style="height: 300px"></div>
+    <div style="position:sticky; width: 100px; height: 100px; top: 151px; bottom: 50px; background-color: green"></div>
+    <div style="height: 1000px"></div>
+  </div>