diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-eager.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-eager.html | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-eager.html b/testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-eager.html new file mode 100644 index 0000000000..8acd99d23d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-eager.html @@ -0,0 +1,52 @@ +<!DOCTYPE html> +<head> + <title>Iframes with loading='eager' load immediately regardless of their + position with respect to the viewport.</title> + <link rel="author" title="Scott Little" href="mailto:sclittle@chromium.org"> + <link rel="help" href="https://github.com/scott-little/lazyload"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> +</head> + +<script> + const t = async_test("Test that iframes with loading='eager' load " + + "immediately regardless of their position with " + + "respect to the viewport."); + + let has_in_viewport_loaded = false; + const in_viewport_iframe_onload = t.step_func(() => { + assert_false(has_in_viewport_loaded, + "The in_viewport element should load only once."); + has_in_viewport_loaded = true; + }); + + let has_below_viewport_loaded = false; + const below_viewport_iframe_onload = t.step_func(() => { + assert_false(has_below_viewport_loaded, + "The below_viewport element should load only once."); + has_below_viewport_loaded = true; + }); + + window.addEventListener("load", t.step_func_done(() => { + assert_true(has_in_viewport_loaded, + "The in_viewport element should have loaded before " + + "window.load()."); + assert_true(has_below_viewport_loaded, + "The below_viewport element should have loaded before " + + "window.load()."); + })); +</script> + +<body> + <iframe id="in_viewport" src="resources/subframe.html?in-viewport" + loading="eager" width="200px" height="100px" + onload="in_viewport_iframe_onload();"></iframe> + <div style="height:1000vh;"></div> + + <!-- The below_viewport element loads very slowly in order to ensure that the + window load event is blocked on it. --> + <iframe id="below_viewport" + src="resources/subframe.html?below-viewport&pipe=trickle(d1)" + loading="eager" width="200px" height="100px" + onload="below_viewport_iframe_onload();"></iframe> +</body> |