summaryrefslogtreecommitdiffstats
path: root/gfx/layers/apz/test/mochitest/helper_fission_scroll_handoff.html
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/layers/apz/test/mochitest/helper_fission_scroll_handoff.html')
-rw-r--r--gfx/layers/apz/test/mochitest/helper_fission_scroll_handoff.html50
1 files changed, 50 insertions, 0 deletions
diff --git a/gfx/layers/apz/test/mochitest/helper_fission_scroll_handoff.html b/gfx/layers/apz/test/mochitest/helper_fission_scroll_handoff.html
new file mode 100644
index 0000000000..3f75706778
--- /dev/null
+++ b/gfx/layers/apz/test/mochitest/helper_fission_scroll_handoff.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>scroll handoff</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script src="/tests/SimpleTest/paint_listener.js"></script>
+ <script src="helper_fission_utils.js"></script>
+ <script src="apz_test_utils.js"></script>
+ <script src="apz_test_native_event_utils.js"></script>
+ <script>
+
+fission_subtest_init();
+
+FissionTestHelper.startTestPromise
+ .then(waitUntilApzStable)
+ .then(loadOOPIFrame("testframe", "helper_fission_empty.html"))
+ .then(waitUntilApzStable)
+ .then(test)
+ .then(FissionTestHelper.subtestDone, FissionTestHelper.subtestFailed);
+
+async function test() {
+ let scrollEventPromise = new Promise(resolve => {
+ window.addEventListener("scroll", resolve, { once: true });
+ });
+
+ let iframe = document.getElementById("testframe");
+
+ await synthesizeNativeWheel(iframe, 100, 100, 0, -50);
+ await scrollEventPromise;
+
+ ok(window.scrollY > 0,
+ "Mouse wheel scrolling on OOP iframes in position:fixed subtree " +
+ "should be handed off to the parent");
+}
+
+ </script>
+</head>
+<style>
+iframe {
+ position: fixed;
+ width: 500px;
+ height: 500px;
+}
+</style>
+<body>
+<iframe id="testframe"></iframe>
+<div style="height:1000vh"></div>
+</body>
+</html>