diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /testing/web-platform/tests/speculation-rules/prerender/state-and-event.html | |
parent | Initial commit. (diff) | |
download | firefox-esr-upstream.tar.xz firefox-esr-upstream.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/speculation-rules/prerender/state-and-event.html')
-rw-r--r-- | testing/web-platform/tests/speculation-rules/prerender/state-and-event.html | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/testing/web-platform/tests/speculation-rules/prerender/state-and-event.html b/testing/web-platform/tests/speculation-rules/prerender/state-and-event.html new file mode 100644 index 0000000000..b8252121b1 --- /dev/null +++ b/testing/web-platform/tests/speculation-rules/prerender/state-and-event.html @@ -0,0 +1,48 @@ +<!DOCTYPE html> +<meta name="timeout" content="long"> +<script src="/common/utils.js"></script> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/utils.js"></script> +<body> +<script> + +setup(() => assertSpeculationRulesIsSupported()); + +promise_test(async t => { + // The key used for storing a test result in the server. + const key = token(); + + // Open the test runner in a popup - it will prerender itself, record the + // test results, and send them back to this harness. + const url = `resources/prerender-state.html?key=${key}`; + window.open(url, '_blank', 'noopener'); + + // Wait until the test sends us the results. + let result = await nextValueFromServer(key); + result = JSON.parse(result); + + assert_equals(result.prerenderingTypeOf, "boolean", + "typeof(document.prerendering) is 'boolean'."); + assert_equals(result.onprerenderingChangeTypeOf, "object", + "typeof(document.onprerenderingchange) is 'object'."); + + assert_equals( + result.onprerenderingchangeCalledBeforeActivate, false, + "prerenderingchange event should not be called prior to activation."); + assert_equals( + result.prerenderingValueBeforeActivate, true, + "document.prerendering should be true prior to activation."); + + assert_equals(result.onprerenderingchangeCalledAfterActivate, true, + "prerenderingchange event should be called after activation."); + assert_equals(result.prerenderingValueAfterActivate, false, + "document.prerendering should be false after activation."); + assert_equals(result.eventBubbles, false, + "prerenderingchange event.bubbles should be false."); + assert_equals(result.eventCancelable, false, + "prerenderingchange event.cancelable should be false."); +}, 'Test document.prerendering and its change event.'); + +</script> +</body> |