diff options
Diffstat (limited to 'testing/web-platform/tests/soft-navigation-heuristics/image-lcp-before-detection.tentative.html')
-rw-r--r-- | testing/web-platform/tests/soft-navigation-heuristics/image-lcp-before-detection.tentative.html | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/testing/web-platform/tests/soft-navigation-heuristics/image-lcp-before-detection.tentative.html b/testing/web-platform/tests/soft-navigation-heuristics/image-lcp-before-detection.tentative.html new file mode 100644 index 0000000000..0de675d372 --- /dev/null +++ b/testing/web-platform/tests/soft-navigation-heuristics/image-lcp-before-detection.tentative.html @@ -0,0 +1,54 @@ +<!DOCTYPE HTML> +<html> +<head> +<meta charset="utf-8"> +<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 src="resources/soft-navigation-helper.js"></script> +</head> +<body> + <main id=main> + <div> + <a id=link><img src="/images/lcp-256x256.png" id="img"></a> + </div> + </main> + <script> + const link = document.getElementById("link"); + let first_lcp_painted; + let second_lcp_painted; + (async () => { + await new Promise(r => { first_lcp_painted = r; }); + addImageToMain("lcp-133x106.png", "no_lcp"); + (new PerformanceObserver(second_lcp_painted)).observe({type: "element"}); + })(); + testSoftNavigation({ + pushState: null, + addContent: async () => { + // Add an LCP element. + await new Promise(resolve => { + addImageToMain("lcp-100x50.png", "first_lcp"); + (new PerformanceObserver(resolve)).observe({type: "element"}); + }); + first_lcp_painted(); + // Wait for the unrelated LCP to be painted. + await new Promise(r => { second_lcp_painted = r; }); + const url = URL + "?" + counter; + history.pushState({}, '', url); + }, + link: link, + validate: async () => { + const lcps = await getLcpEntries(); + assert_equals(lcps.length, 2, "Got 2 LCP entries"); + assert_equals(lcps[lcps.length - 1].id, "first_lcp", "Got the first LCP"); + }, + test: "Image LCP discovered between user interaction and soft " + + "navigation detection are properly reported, while unrelated " + + "LCPs are ignored during that time. As a side effect, we also " + + "test element timing."}); + </script> +</body> +</html> + + |