diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:14:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:14:29 +0000 |
commit | fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 (patch) | |
tree | 4c1ccaf5486d4f2009f9a338a98a83e886e29c97 /testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-iframe.html | |
parent | Releasing progress-linux version 124.0.1-1~progress7.99u1. (diff) | |
download | firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.tar.xz firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.zip |
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-iframe.html')
-rw-r--r-- | testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-iframe.html | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-iframe.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-iframe.html new file mode 100644 index 0000000000..05ca1a9428 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-iframe.html @@ -0,0 +1,45 @@ +<!DOCTYPE HTML> +<title>Tests pageswap dispatch on iframe Documents</title> +<link rel="author" title="Khushal Sagar" href="mailto:khushalsagar@chromium.org"> +<link rel="help" href="https://html.spec.whatwg.org/"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script> +setup({explicit_done: true}); + +function runTest(frame) { + let frameWindow = frame.contentWindow; + + let pageswapfired = false; + let expectedUrl = frameWindow.location.href + '?new'; + frameWindow.onpageswap = (e) => { + assert_equals(e.activation.entry.url, expectedUrl, 'activation url incorrect in pageswap'); + assert_equals(e.activation.navigationType, "push", 'navigation type incorrect in pageswap'); + assert_equals(e.activation.from, frameWindow.navigation.currentEntry, 'from entry incorrect in pageswap'); + assert_false(e.activation.entry.sameDocument, 'new entry must be cross-document'); + pageswapfired = true; + } + + frameWindow.onpagehide = (e) => { + assert_true(pageswapfired, 'pageswap not fired'); + done(); + } + + frame.src = expectedUrl; +} + +promise_test(async t => { + onload = () => { + let frame = document.createElement('iframe'); + frame.src = "/resources/blank.html"; + frame.onload = () => { + frame.contentWindow.requestAnimationFrame(() => { + runTest(frame); + }); + } + document.body.appendChild(frame); + }; +}); +</script> |