Move scroll-anchoring tests to WPT

Change-Id: I97fe58e63eae178396249cc0ed6692f5c8f2e22d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2182737
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Commit-Queue: Nick Burris <nburris@chromium.org>
Cr-Commit-Position: refs/heads/master@{#765996}
diff --git a/css/css-scroll-anchoring/anchor-inside-iframe.html b/css/css-scroll-anchoring/anchor-inside-iframe.html
new file mode 100644
index 0000000..ea1ce4b
--- /dev/null
+++ b/css/css-scroll-anchoring/anchor-inside-iframe.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-anchoring-1/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<iframe width="700" height="500" srcdoc="
+  <!DOCTYPE html>
+  <style> body { height: 1000px } div { height: 100px } </style>
+  <div id='block1'>abc</div>
+  <div id='block2'>def</div>
+"></iframe>
+<script>
+  async_test((t) => {
+    var iframeWindow = document.querySelector("iframe").contentWindow;
+    iframeWindow.addEventListener("load", () => {
+      var block1 = iframeWindow.document.querySelector("#block1");
+      iframeWindow.scrollTo(0, 150);
+
+      requestAnimationFrame(() => {
+        step_timeout(() => {
+          block1.style.height = "200px";
+          assert_equals(iframeWindow.scrollY, 250);
+          t.done();
+        }, 0);
+      });
+    });
+  }, "Scroll anchoring in an iframe.");
+</script>
diff --git a/css/css-scroll-anchoring/reading-scroll-forces-anchoring.html b/css/css-scroll-anchoring/reading-scroll-forces-anchoring.html
new file mode 100644
index 0000000..39b8e36
--- /dev/null
+++ b/css/css-scroll-anchoring/reading-scroll-forces-anchoring.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/css-scroll-anchoring-1/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+body { height: 1000px }
+div { height: 100px }
+</style>
+<div id="block1">abc</div>
+<div id="block2">def</div>
+<script>
+  // This test verifies that reading window.scrollY forces any pending scroll
+  // anchoring adjustment to occur before computing the return value.
+  async_test((t) => {
+    scrollTo(0, 150);
+    requestAnimationFrame(() => {
+      step_timeout(() => {
+        // Queue scroll anchoring adjustment.
+        document.querySelector("#block1").style.height = "200px";
+
+        // Reading scrollY should force both the layout and the adjustment to
+        // occur synchronously.
+        var y = scrollY;
+
+        assert_equals(y, 250);
+        t.done();
+      }, 0);
+    });
+  }, 'Reading scroll position forces scroll anchoring adjustment.');
+</script>