Split tests programmatic-scroll-iframe and scroll-iframe
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 26 Feb 2019 18:14:45 +0000 (18:14 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 26 Feb 2019 18:14:45 +0000 (18:14 +0000)
https://bugs.webkit.org/show_bug.cgi?id=195050

This patch splits some iOS frame scrolling tests into separate tests in order to make debugging
and test expectations easier to manage.

Patch by Frederic Wang <fwang@igalia.com> on 2019-02-26
Reviewed by Antti Koivisto.

* fast/scrolling/ios/programmatic-scroll-iframe-001-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
* fast/scrolling/ios/programmatic-scroll-iframe-001.html: Added.
* fast/scrolling/ios/programmatic-scroll-iframe-002-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
* fast/scrolling/ios/programmatic-scroll-iframe-002.html: Added.
* fast/scrolling/ios/programmatic-scroll-iframe-003-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
* fast/scrolling/ios/programmatic-scroll-iframe-003.html: Added.
* fast/scrolling/ios/programmatic-scroll-iframe-004-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
* fast/scrolling/ios/programmatic-scroll-iframe-004.html: Added.
* fast/scrolling/ios/programmatic-scroll-iframe-005-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
* fast/scrolling/ios/programmatic-scroll-iframe-005.html: Added.
* fast/scrolling/ios/programmatic-scroll-iframe-006-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
* fast/scrolling/ios/programmatic-scroll-iframe-006.html: Added.
* fast/scrolling/ios/programmatic-scroll-iframe-007-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
* fast/scrolling/ios/programmatic-scroll-iframe-007.html: Added.
* fast/scrolling/ios/programmatic-scroll-iframe-008-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
* fast/scrolling/ios/programmatic-scroll-iframe-008.html: Added.
* fast/scrolling/ios/programmatic-scroll-iframe-009-expected.html: Renamed from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
* fast/scrolling/ios/programmatic-scroll-iframe-009.html: Added.
* fast/scrolling/ios/programmatic-scroll-iframe.html: Removed.
* fast/scrolling/ios/scroll-iframe-001-expected.html: Added.
* fast/scrolling/ios/scroll-iframe-001.html: Added.
* fast/scrolling/ios/scroll-iframe-002-expected.html: Added.
* fast/scrolling/ios/scroll-iframe-002.html: Added.
* fast/scrolling/ios/scroll-iframe-003-expected.html: Added.
* fast/scrolling/ios/scroll-iframe-003.html: Added.
* fast/scrolling/ios/scroll-iframe-004-expected.html: Added.
* fast/scrolling/ios/scroll-iframe-004.html: Added.
* fast/scrolling/ios/scroll-iframe-expected.html: Removed.
* fast/scrolling/ios/scroll-iframe.html: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

30 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-001-expected.html [moved from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html with 57% similarity]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-001.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-002-expected.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-002.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-003-expected.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-003.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-004-expected.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-004.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-005-expected.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-005.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-006-expected.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-006.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-007-expected.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-007.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-008-expected.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-008.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-009-expected.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-009.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe.html [deleted file]
LayoutTests/fast/scrolling/ios/scroll-iframe-001-expected.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/scroll-iframe-001.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/scroll-iframe-002-expected.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/scroll-iframe-002.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/scroll-iframe-003-expected.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/scroll-iframe-003.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/scroll-iframe-004-expected.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/scroll-iframe-004.html [new file with mode: 0644]
LayoutTests/fast/scrolling/ios/scroll-iframe-expected.html [deleted file]
LayoutTests/fast/scrolling/ios/scroll-iframe.html [deleted file]

index aa62c52..bf13200 100644 (file)
@@ -1,5 +1,45 @@
 2019-02-26  Frederic Wang  <fwang@igalia.com>
 
+        Split tests programmatic-scroll-iframe and scroll-iframe
+        https://bugs.webkit.org/show_bug.cgi?id=195050
+
+        This patch splits some iOS frame scrolling tests into separate tests in order to make debugging
+        and test expectations easier to manage.
+
+        Reviewed by Antti Koivisto.
+
+        * fast/scrolling/ios/programmatic-scroll-iframe-001-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
+        * fast/scrolling/ios/programmatic-scroll-iframe-001.html: Added.
+        * fast/scrolling/ios/programmatic-scroll-iframe-002-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
+        * fast/scrolling/ios/programmatic-scroll-iframe-002.html: Added.
+        * fast/scrolling/ios/programmatic-scroll-iframe-003-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
+        * fast/scrolling/ios/programmatic-scroll-iframe-003.html: Added.
+        * fast/scrolling/ios/programmatic-scroll-iframe-004-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
+        * fast/scrolling/ios/programmatic-scroll-iframe-004.html: Added.
+        * fast/scrolling/ios/programmatic-scroll-iframe-005-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
+        * fast/scrolling/ios/programmatic-scroll-iframe-005.html: Added.
+        * fast/scrolling/ios/programmatic-scroll-iframe-006-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
+        * fast/scrolling/ios/programmatic-scroll-iframe-006.html: Added.
+        * fast/scrolling/ios/programmatic-scroll-iframe-007-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
+        * fast/scrolling/ios/programmatic-scroll-iframe-007.html: Added.
+        * fast/scrolling/ios/programmatic-scroll-iframe-008-expected.html: Copied from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
+        * fast/scrolling/ios/programmatic-scroll-iframe-008.html: Added.
+        * fast/scrolling/ios/programmatic-scroll-iframe-009-expected.html: Renamed from LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-expected.html.
+        * fast/scrolling/ios/programmatic-scroll-iframe-009.html: Added.
+        * fast/scrolling/ios/programmatic-scroll-iframe.html: Removed.
+        * fast/scrolling/ios/scroll-iframe-001-expected.html: Added.
+        * fast/scrolling/ios/scroll-iframe-001.html: Added.
+        * fast/scrolling/ios/scroll-iframe-002-expected.html: Added.
+        * fast/scrolling/ios/scroll-iframe-002.html: Added.
+        * fast/scrolling/ios/scroll-iframe-003-expected.html: Added.
+        * fast/scrolling/ios/scroll-iframe-003.html: Added.
+        * fast/scrolling/ios/scroll-iframe-004-expected.html: Added.
+        * fast/scrolling/ios/scroll-iframe-004.html: Added.
+        * fast/scrolling/ios/scroll-iframe-expected.html: Removed.
+        * fast/scrolling/ios/scroll-iframe.html: Removed.
+
+2019-02-26  Frederic Wang  <fwang@igalia.com>
+
         Synchronize MathML WPT tests
         https://bugs.webkit.org/show_bug.cgi?id=195048
 
@@ -5,8 +5,8 @@
     <meta name="viewport" content="width=device-width, initial-scale=1">
   </head>
   <body>
-    <p>This test passes if you see a green rectangle.</p>
-    <div style="position: absolute; top: 3em; width: 300px; height: 400px; background: green;">
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
     </div>
   </body>
 </html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-001.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-001.html
new file mode 100644 (file)
index 0000000..b587620
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script>
+        if (window.testRunner)
+            testRunner.waitUntilDone();
+        if (window.internals)
+            internals.settings.setAsyncFrameScrollingEnabled(true);
+
+        function runTest() {
+            // This checks scrolling to the location of the green square.
+            document.getElementById("doNotScroll").contentWindow.window.scrollTo(0, 0);
+
+            if (window.testRunner)
+                testRunner.notifyDone();
+        }
+     </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+            overflow: none;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+        <iframe id="doNotScroll" style="left: 0px; top: 0px;" scrolling="yes" srcdoc="
+            <body style='margin: 0; width: 200px; height: 200px'>
+                <div style='position: absolute; width: 100px; height: 100px; background: green;'></div>
+            </body>" onload="runTest()">
+        </iframe>
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-002-expected.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-002-expected.html
new file mode 100644 (file)
index 0000000..9b86f0a
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-002.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-002.html
new file mode 100644 (file)
index 0000000..5d208ce
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script>
+        if (window.testRunner)
+            testRunner.waitUntilDone();
+        if (window.internals)
+            internals.settings.setAsyncFrameScrollingEnabled(true);
+
+        function runTest() {
+            // This checks scrolling to the location of the green square.
+            document.getElementById("maxScrollX").contentWindow.window.scrollTo(100, 0);
+
+            if (window.testRunner)
+                testRunner.notifyDone();
+        }
+     </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+            overflow: none;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+        <iframe id="maxScrollX" scrolling="yes" srcdoc="
+            <body style='margin: 0; width: 200px; height: 200px'>
+                <div style='left: 100px; position: absolute; width: 100px; height: 100px; background: green;'></div>
+            </body>" onload="runTest()">
+        </iframe>
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-003-expected.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-003-expected.html
new file mode 100644 (file)
index 0000000..9b86f0a
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-003.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-003.html
new file mode 100644 (file)
index 0000000..5510f56
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script>
+        if (window.testRunner)
+            testRunner.waitUntilDone();
+        if (window.internals)
+            internals.settings.setAsyncFrameScrollingEnabled(true);
+
+        function runTest() {
+            // This checks scrolling to the location of the green square.
+            document.getElementById("maxScrollY").contentWindow.window.scrollTo(0, 100);
+
+            if (window.testRunner)
+                testRunner.notifyDone();
+        }
+     </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+            overflow: none;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+        <iframe id="maxScrollY" scrolling="yes" srcdoc="
+            <body style='margin: 0; width: 200px; height: 200px'>
+                <div style='top: 100px; position: absolute; width: 100px; height: 100px; background: green;'></div>
+            </body>" onload="runTest()">
+        </iframe>
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-004-expected.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-004-expected.html
new file mode 100644 (file)
index 0000000..9b86f0a
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-004.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-004.html
new file mode 100644 (file)
index 0000000..431195a
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script>
+        if (window.testRunner)
+            testRunner.waitUntilDone();
+        if (window.internals)
+            internals.settings.setAsyncFrameScrollingEnabled(true);
+
+        function runTest() {
+            // This checks scrolling to the location of the green square.
+            document.getElementById("maxScrollXY").contentWindow.window.scrollTo(100, 100);
+
+            if (window.testRunner)
+                testRunner.notifyDone();
+        }
+     </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+            overflow: none;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+        <iframe id="maxScrollXY" scrolling="yes" srcdoc="
+            <body style='margin: 0; width: 200px; height: 200px'>
+                <div style='left: 100px; top: 100px; position: absolute; width: 100px; height: 100px; background: green;'></div>
+            </body>" onload="runTest()">
+        </iframe>
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-005-expected.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-005-expected.html
new file mode 100644 (file)
index 0000000..9b86f0a
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-005.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-005.html
new file mode 100644 (file)
index 0000000..bb5a2a4
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script>
+        if (window.testRunner)
+            testRunner.waitUntilDone();
+        if (window.internals)
+            internals.settings.setAsyncFrameScrollingEnabled(true);
+
+        function runTest() {
+            // This checks scrolling to the location of the green square.
+            document.getElementById("scrollMiddle").contentWindow.window.scrollTo(50, 50);
+
+            if (window.testRunner)
+                testRunner.notifyDone();
+        }
+     </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+            overflow: none;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+        <iframe id="scrollMiddle" scrolling="yes" srcdoc="
+            <body style='margin: 0; width: 200px; height: 200px'>
+                <div style='left: 50px; top: 50px; position: absolute; width: 100px; height: 100px; background: green;'></div>
+            </body>" onload="runTest()">
+        </iframe>
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-006-expected.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-006-expected.html
new file mode 100644 (file)
index 0000000..9b86f0a
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-006.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-006.html
new file mode 100644 (file)
index 0000000..46e6747
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script>
+        if (window.testRunner)
+            testRunner.waitUntilDone();
+        if (window.internals)
+            internals.settings.setAsyncFrameScrollingEnabled(true);
+
+        function runTest() {
+            // This checks scrolling outside the limit of the frame.
+            document.getElementById("scrollBelowXLimit").contentWindow.window.scrollBy(-100, 0);
+
+            if (window.testRunner)
+                testRunner.notifyDone();
+        }
+     </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+            overflow: none;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+        <iframe id="scrollBelowXLimit" scrolling="yes" srcdoc="
+            <body style='margin: 0; width: 200px; height: 200px'>
+                <div style='position: absolute; width: 200px; height: 200px; background: green;'></div>
+            </body>" onload="runTest()">
+        </iframe>
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-007-expected.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-007-expected.html
new file mode 100644 (file)
index 0000000..9b86f0a
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-007.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-007.html
new file mode 100644 (file)
index 0000000..1be38f0
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script>
+        if (window.testRunner)
+            testRunner.waitUntilDone();
+        if (window.internals)
+            internals.settings.setAsyncFrameScrollingEnabled(true);
+
+        function runTest() {
+            // This checks scrolling outside the limit of the frame.
+            document.getElementById("scrollAboveXLimit").contentWindow.window.scrollBy(200, 0);
+
+            if (window.testRunner)
+                testRunner.notifyDone();
+        }
+     </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+            overflow: none;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+        <iframe id="scrollAboveXLimit" scrolling="yes" srcdoc="
+            <body style='margin: 0; width: 200px; height: 200px'>
+                <div style='position: absolute; width: 200px; height: 200px; background: green;'></div>
+            </body>" onload="runTest()">
+        </iframe>
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-008-expected.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-008-expected.html
new file mode 100644 (file)
index 0000000..9b86f0a
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-008.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-008.html
new file mode 100644 (file)
index 0000000..96736a0
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script>
+        if (window.testRunner)
+            testRunner.waitUntilDone();
+        if (window.internals)
+            internals.settings.setAsyncFrameScrollingEnabled(true);
+
+        function runTest() {
+            // This checks scrolling outside the limit of the frame.
+            document.getElementById("scrollBelowYLimit").contentWindow.window.scrollBy(0, -100);
+
+            if (window.testRunner)
+                testRunner.notifyDone();
+        }
+     </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+            overflow: none;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+        <iframe id="scrollBelowYLimit" scrolling="yes" srcdoc="
+            <body style='margin: 0; width: 200px; height: 200px'>
+                <div style='position: absolute; width: 200px; height: 200px; background: green;'></div>
+            </body>" onload="runTest()">
+        </iframe>
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-009-expected.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-009-expected.html
new file mode 100644 (file)
index 0000000..9b86f0a
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-009.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe-009.html
new file mode 100644 (file)
index 0000000..32e4a59
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Programmatic scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script>
+        if (window.testRunner)
+            testRunner.waitUntilDone();
+        if (window.internals)
+            internals.settings.setAsyncFrameScrollingEnabled(true);
+
+        function runTest() {
+            // This checks scrolling outside the limit of the frame.
+            document.getElementById("scrollAboveYLimit").contentWindow.window.scrollBy(0, 200);
+
+            if (window.testRunner)
+                testRunner.notifyDone();
+        }
+     </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+            overflow: none;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div style="position: absolute; top: 3em; width: 100px; height: 100px; background: green;">
+        <iframe id="scrollAboveYLimit" scrolling="yes" srcdoc="
+            <body style='margin: 0; width: 200px; height: 200px'>
+                <div style='position: absolute; width: 200px; height: 200px; background: green;'></div>
+            </body>" onload="runTest()">
+        </iframe>
+    </div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe.html b/LayoutTests/fast/scrolling/ios/programmatic-scroll-iframe.html
deleted file mode 100644 (file)
index af8582f..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <title>Programmatic scrolling of iframe</title>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <script>
-        if (window.testRunner)
-            testRunner.waitUntilDone();
-        if (window.internals)
-            internals.settings.setAsyncFrameScrollingEnabled(true);
-
-        function runTest() {
-            // This checks scrolling to the location of the green square.
-            document.getElementById("doNotScroll").contentWindow.window.scrollTo(0, 0);
-            document.getElementById("maxScrollX").contentWindow.window.scrollTo(100, 0);
-            document.getElementById("maxScrollY").contentWindow.window.scrollTo(0, 100);
-            document.getElementById("maxScrollXY").contentWindow.window.scrollTo(100, 100);
-            document.getElementById("scrollMiddle").contentWindow.window.scrollTo(50, 50);
-
-            // This checks scrolling outside the limit of the frame.
-            document.getElementById("scrollBelowXLimit").contentWindow.window.scrollBy(-100, 0);
-            document.getElementById("scrollAboveXLimit").contentWindow.window.scrollBy(200, 0);
-            document.getElementById("scrollBelowYLimit").contentWindow.window.scrollBy(0, -100);
-            document.getElementById("scrollAboveYLimit").contentWindow.window.scrollBy(0, 200);
-
-            if (window.testRunner)
-                testRunner.notifyDone();
-        }
-
-        var frameToLoadCount = 9;
-        function newFrameLoaded() {
-            frameToLoadCount--;
-            if (frameToLoadCount == 0)
-                runTest();
-        }
-     </script>
-    <style>
-        iframe {
-            float: left;
-            background: linear-gradient(135deg, red, orange);
-            border: 0;
-            height: 100px;
-            width: 100px;
-            overflow: none;
-        }
-    </style>
-  </head>
-  <body>
-    <p>This test passes if you see a green rectangle.</p>
-    <div style="position: absolute; top: 3em; width: 300px; height: 400px; background: green;">
-        <iframe id="doNotScroll" style="left: 0px; top: 0px;" scrolling="yes" srcdoc="
-            <body style='margin: 0; width: 200px; height: 200px'>
-                <div style='position: absolute; width: 100px; height: 100px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-        <iframe id="maxScrollX" scrolling="yes" srcdoc="
-            <body style='margin: 0; width: 200px; height: 200px'>
-                <div style='left: 100px; position: absolute; width: 100px; height: 100px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-        <iframe id="maxScrollY" scrolling="yes" srcdoc="
-            <body style='margin: 0; width: 200px; height: 200px'>
-                <div style='top: 100px; position: absolute; width: 100px; height: 100px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-        <iframe id="maxScrollXY" scrolling="yes" srcdoc="
-            <body style='margin: 0; width: 200px; height: 200px'>
-                <div style='left: 100px; top: 100px; position: absolute; width: 100px; height: 100px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-        <iframe id="scrollMiddle" scrolling="yes" srcdoc="
-            <body style='margin: 0; width: 200px; height: 200px'>
-                <div style='left: 50px; top: 50px; position: absolute; width: 100px; height: 100px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-        <iframe id="scrollBelowXLimit" scrolling="yes" srcdoc="
-            <body style='margin: 0; width: 200px; height: 200px'>
-                <div style='position: absolute; width: 200px; height: 200px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-        <iframe id="scrollAboveXLimit" scrolling="yes" srcdoc="
-            <body style='margin: 0; width: 200px; height: 200px'>
-                <div style='position: absolute; width: 200px; height: 200px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-        <iframe id="scrollBelowYLimit" scrolling="yes" srcdoc="
-            <body style='margin: 0; width: 200px; height: 200px'>
-                <div style='position: absolute; width: 200px; height: 200px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-        <iframe id="scrollAboveYLimit" scrolling="yes" srcdoc="
-            <body style='margin: 0; width: 200px; height: 200px'>
-                <div style='position: absolute; width: 200px; height: 200px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-    </div>
-  </body>
-</html>
diff --git a/LayoutTests/fast/scrolling/ios/scroll-iframe-001-expected.html b/LayoutTests/fast/scrolling/ios/scroll-iframe-001-expected.html
new file mode 100644 (file)
index 0000000..e46b93b
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html
+  <head>
+    <title>Scrolling of iframe</title>
+    <style>
+      .testdiv {
+          float: left;
+          background: green;
+          border: 0;
+          height: 100px;
+          width: 100px;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div class="testdiv"></div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/scroll-iframe-001.html b/LayoutTests/fast/scrolling/ios/scroll-iframe-001.html
new file mode 100644 (file)
index 0000000..91c4048
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script src="../../../resources/basic-gestures.js"></script>
+    <script type="text/javascript">
+      if (window.testRunner)
+          testRunner.waitUntilDone();
+      if (window.internals)
+          internals.settings.setAsyncFrameScrollingEnabled(true);
+
+      function centerOf(id)
+      {
+          var frameBox = document.getElementById(id).getBoundingClientRect();
+          return { x: frameBox.left + frameBox.width / 2, y: frameBox.top + frameBox.height / 2 };
+      }
+
+      async function runTest() {
+         if (!window.testRunner || !testRunner.runUIScript)
+             return;
+
+         // This checks scrolling to the location of the green square.
+         var c = centerOf("maxScrollX");
+         await touchAndDragFromPointToPoint(c.x, c.y, c.x - 150, c.y);
+         await liftUpAtPoint(c.x - 150, c.y);
+
+         // Wait for scrolling to stabilize and for scrollbars to disappear.
+         setTimeout(() => {testRunner.notifyDone(); }, 1000);
+       }
+    </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <iframe id="maxScrollX" scrolling="yes" srcdoc="
+        <body style='margin: 0; width: 200px; height: 200px'>
+            <div style='left: 100px; position: absolute; width: 100px; height: 100px; background: green;'></div>
+        </body>" onload="runTest()">
+    </iframe>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/scroll-iframe-002-expected.html b/LayoutTests/fast/scrolling/ios/scroll-iframe-002-expected.html
new file mode 100644 (file)
index 0000000..e46b93b
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html
+  <head>
+    <title>Scrolling of iframe</title>
+    <style>
+      .testdiv {
+          float: left;
+          background: green;
+          border: 0;
+          height: 100px;
+          width: 100px;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div class="testdiv"></div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/scroll-iframe-002.html b/LayoutTests/fast/scrolling/ios/scroll-iframe-002.html
new file mode 100644 (file)
index 0000000..a532f6e
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script src="../../../resources/basic-gestures.js"></script>
+    <script type="text/javascript">
+      if (window.testRunner)
+          testRunner.waitUntilDone();
+      if (window.internals)
+          internals.settings.setAsyncFrameScrollingEnabled(true);
+
+      function centerOf(id)
+      {
+          var frameBox = document.getElementById(id).getBoundingClientRect();
+          return { x: frameBox.left + frameBox.width / 2, y: frameBox.top + frameBox.height / 2 };
+      }
+
+      async function runTest() {
+         if (!window.testRunner || !testRunner.runUIScript)
+             return;
+
+         // This checks scrolling to the location of the green square.
+         var c = centerOf("maxScrollY");
+         await touchAndDragFromPointToPoint(c.x, c.y, c.x, c.y - 150);
+         await liftUpAtPoint(c.x, c.y - 150);
+         // Wait for scrolling to stabilize and for scrollbars to disappear.
+         setTimeout(() => {testRunner.notifyDone(); }, 1000);
+       }
+    </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <iframe id="maxScrollY" scrolling="yes" srcdoc="
+        <body style='margin: 0; width: 200px; height: 200px'>
+            <div style='top: 100px; position: absolute; width: 100px; height: 100px; background: green;'></div>
+        </body>" onload="runTest()">
+    </iframe>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/scroll-iframe-003-expected.html b/LayoutTests/fast/scrolling/ios/scroll-iframe-003-expected.html
new file mode 100644 (file)
index 0000000..e46b93b
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html
+  <head>
+    <title>Scrolling of iframe</title>
+    <style>
+      .testdiv {
+          float: left;
+          background: green;
+          border: 0;
+          height: 100px;
+          width: 100px;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div class="testdiv"></div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/scroll-iframe-003.html b/LayoutTests/fast/scrolling/ios/scroll-iframe-003.html
new file mode 100644 (file)
index 0000000..1d18813
--- /dev/null
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script src="../../../resources/basic-gestures.js"></script>
+    <script type="text/javascript">
+      if (window.testRunner)
+          testRunner.waitUntilDone();
+      if (window.internals)
+          internals.settings.setAsyncFrameScrollingEnabled(true);
+
+      function centerOf(id)
+      {
+          var frameBox = document.getElementById(id).getBoundingClientRect();
+          return { x: frameBox.left + frameBox.width / 2, y: frameBox.top + frameBox.height / 2 };
+      }
+
+      async function runTest() {
+         if (!window.testRunner || !testRunner.runUIScript)
+             return;
+
+         // This checks scrolling to the location of the green square.
+         var c = centerOf("maxScrollXY");
+         await touchAndDragFromPointToPoint(c.x, c.y, c.x - 150, c.y - 150);
+         await liftUpAtPoint(c.x - 150, c.y - 150);
+
+         // Wait for scrolling to stabilize and for scrollbars to disappear.
+         setTimeout(() => {testRunner.notifyDone(); }, 1000);
+       }
+    </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <iframe id="maxScrollXY" scrolling="yes" srcdoc="
+        <body style='margin: 0; width: 200px; height: 200px'>
+            <div style='left: 100px; top: 100px; position: absolute; width: 100px; height: 100px; background: green;'></div>
+        </body>" onload="runTest()">
+    </iframe>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/scroll-iframe-004-expected.html b/LayoutTests/fast/scrolling/ios/scroll-iframe-004-expected.html
new file mode 100644 (file)
index 0000000..e46b93b
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html
+  <head>
+    <title>Scrolling of iframe</title>
+    <style>
+      .testdiv {
+          float: left;
+          background: green;
+          border: 0;
+          height: 100px;
+          width: 100px;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <div class="testdiv"></div>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/scroll-iframe-004.html b/LayoutTests/fast/scrolling/ios/scroll-iframe-004.html
new file mode 100644 (file)
index 0000000..4a68eea
--- /dev/null
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Scrolling of iframe</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <script src="../../../resources/basic-gestures.js"></script>
+    <script type="text/javascript">
+      if (window.testRunner)
+          testRunner.waitUntilDone();
+      if (window.internals)
+          internals.settings.setAsyncFrameScrollingEnabled(true);
+
+      function centerOf(id)
+      {
+          var frameBox = document.getElementById(id).getBoundingClientRect();
+          return { x: frameBox.left + frameBox.width / 2, y: frameBox.top + frameBox.height / 2 };
+      }
+
+      async function runTest() {
+         if (!window.testRunner || !testRunner.runUIScript)
+             return;
+
+         // This checks scrolling to the location of the green square.
+         var c = centerOf("largeContent");
+         await touchAndDragFromPointToPoint(c.x, c.y, c.x, c.y - 2000);
+         await liftUpAtPoint(c.x, c.y - 2000);
+
+         // Wait for scrolling to stabilize and for scrollbars to disappear.
+         setTimeout(() => {testRunner.notifyDone(); }, 2000);
+       }
+    </script>
+    <style>
+        iframe {
+            float: left;
+            background: linear-gradient(135deg, red, orange);
+            border: 0;
+            height: 100px;
+            width: 100px;
+        }
+    </style>
+  </head>
+  <body>
+    <p>This test passes if you see a green square.</p>
+    <iframe id="largeContent" scrolling="yes" srcdoc="
+        <body style='margin: 0;'>
+        <div style='width: 100px; height: 500px; background: red;'></div>
+        <div style='width: 100px; height: 500px; background: blue;'></div>
+        <div style='width: 100px; height: 500px; background: red;'></div>
+        <div style='width: 100px; height: 500px; background: blue;'></div>
+        <div style='width: 100px; height: 500px; background: green;'></div>
+        </body>" onload="runTest()">
+    </iframe>
+  </body>
+</html>
diff --git a/LayoutTests/fast/scrolling/ios/scroll-iframe-expected.html b/LayoutTests/fast/scrolling/ios/scroll-iframe-expected.html
deleted file mode 100644 (file)
index d7f646a..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html>
-<html
-  <head>
-    <title>Scrolling of iframe</title>
-    <style>
-        .testdiv {
-            float: left;
-            background: green;
-            border: 0;
-            height: 100px;
-            width: 100px;
-        }
-    </style>
-  </head>
-  <body>
-    <p>This test passes if you see a green rectangle.</p>
-    <div style="width:300px">
-        <div class=testdiv></div>
-        <div class=testdiv></div>
-        <div class=testdiv></div>
-        <div class=testdiv></div>
-    </div>
-</body>
-</html>
diff --git a/LayoutTests/fast/scrolling/ios/scroll-iframe.html b/LayoutTests/fast/scrolling/ios/scroll-iframe.html
deleted file mode 100644 (file)
index 3b1e33c..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <title>Scrolling of iframe</title>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <script src="../../../resources/basic-gestures.js"></script>
-    <script type="text/javascript">
-        if (window.testRunner)
-            testRunner.waitUntilDone();
-        if (window.internals)
-            internals.settings.setAsyncFrameScrollingEnabled(true);
-
-      function centerOf(id)
-      {
-          var frameBox = document.getElementById(id).getBoundingClientRect();
-          return { x: frameBox.left + frameBox.width / 2, y: frameBox.top + frameBox.height / 2 };
-      }
-
-      async function runTest() {
-         if (!window.testRunner || !testRunner.runUIScript)
-             return;
-
-         // This checks scrolling to the location of the green square.
-         var c = centerOf("maxScrollX");
-         await touchAndDragFromPointToPoint(c.x, c.y, c.x - 150, c.y);
-         await liftUpAtPoint(c.x - 150, c.y);
-
-         c = centerOf("maxScrollY");
-         await touchAndDragFromPointToPoint(c.x, c.y, c.x, c.y - 150);
-         await liftUpAtPoint(c.x, c.y - 150);
-         
-         c = centerOf("maxScrollXY");
-         await touchAndDragFromPointToPoint(c.x, c.y, c.x - 150, c.y - 150);
-         await liftUpAtPoint(c.x - 150, c.y - 150);
-
-         c = centerOf("largeContent");
-         await touchAndDragFromPointToPoint(c.x, c.y, c.x, c.y - 2000);
-         await liftUpAtPoint(c.x, c.y - 2000);
-
-         // Wait for scrolling to stabilize and for scrollbars to disappear.
-         setTimeout(() => {testRunner.notifyDone(); }, 2000);
-       }
-
-       var frameToLoadCount = 4;
-       function newFrameLoaded() {
-           frameToLoadCount--;
-           if (frameToLoadCount == 0)
-               runTest();
-       }
-    </script>
-    <style>
-        iframe {
-            float: left;
-            background: linear-gradient(135deg, red, orange);
-            border: 0;
-            height: 100px;
-            width: 100px;
-        }
-    </style>
-  </head>
-  <body>
-    <p>This test passes if you see a green rectangle.</p>
-    <div style="width:300px">
-        <iframe id="maxScrollX" scrolling="yes" srcdoc="
-            <body style='margin: 0; width: 200px; height: 200px'>
-                <div style='left: 100px; position: absolute; width: 100px; height: 100px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-        <iframe id="maxScrollY" scrolling="yes" srcdoc="
-            <body style='margin: 0; width: 200px; height: 200px'>
-                <div style='top: 100px; position: absolute; width: 100px; height: 100px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-        <iframe id="maxScrollXY" scrolling="yes" srcdoc="
-            <body style='margin: 0; width: 200px; height: 200px'>
-                <div style='left: 100px; top: 100px; position: absolute; width: 100px; height: 100px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-        <iframe id="largeContent" scrolling="yes" srcdoc="
-            <body style='margin: 0;'>
-            <div style='width: 100px; height: 500px; background: red;'></div>
-            <div style='width: 100px; height: 500px; background: blue;'></div>
-            <div style='width: 100px; height: 500px; background: red;'></div>
-            <div style='width: 100px; height: 500px; background: blue;'></div>
-            <div style='width: 100px; height: 500px; background: green;'></div>
-            </body>" onload="newFrameLoaded()">
-        </iframe>
-    </div>
-</body>
-</html>