diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/soft-navigation-heuristics/text-lcp-before-detection-second-softnav.tentative.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/soft-navigation-heuristics/text-lcp-before-detection-second-softnav.tentative.html')
-rw-r--r-- | testing/web-platform/tests/soft-navigation-heuristics/text-lcp-before-detection-second-softnav.tentative.html | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/testing/web-platform/tests/soft-navigation-heuristics/text-lcp-before-detection-second-softnav.tentative.html b/testing/web-platform/tests/soft-navigation-heuristics/text-lcp-before-detection-second-softnav.tentative.html new file mode 100644 index 0000000000..bed27c3506 --- /dev/null +++ b/testing/web-platform/tests/soft-navigation-heuristics/text-lcp-before-detection-second-softnav.tentative.html @@ -0,0 +1,62 @@ +<!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> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> +</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; }); + addTextParagraphToMain("LOREM IPSUMR", "no lcp"); + (new PerformanceObserver(second_lcp_painted)).observe({type: "element"}); + })(); + testSoftNavigation({ + pushState: null, + clicks: 2, + addContent: async () => { + // Add an LCP element. + await new Promise(resolve => { + const p = addTextParagraphToMain("Lorem Ipsum", /*element_timing=*/"first_lcp" + counter); + p.id = "first_lcp" + counter; + (new PerformanceObserver(resolve)).observe({type: "element"}); + }); + if(counter) { + 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(); + const ref_counter = counter-1; + assert_equals(lcps.length, 2 + ref_counter, "Got 2 LCP entries"); + assert_equals(lcps[lcps.length - 1].id, "first_lcp" + ref_counter, "Got the first LCP"); + }, + test: "Second soft navigation text 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> + + + + |