48 lines
No EOL
1.3 KiB
HTML
48 lines
No EOL
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<!--
|
|
Transparent text should not be eligible for LCP.
|
|
-->
|
|
<style>
|
|
.large-transparent {
|
|
font-size: 2000px;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
padding: 0;
|
|
margin: 0;
|
|
pointer-events: none;
|
|
color: transparent;
|
|
z-index: -999;
|
|
}
|
|
</style>
|
|
|
|
<body>
|
|
<img src='/images/lcp-133x106.png' id='lcp' />
|
|
<p id="fake_lcp" class='large-transparent'>fake LCP</p>
|
|
|
|
<script>
|
|
const LcpEntryListPromise = (t) => {
|
|
return new Promise(resolve => {
|
|
new PerformanceObserver((entryList, observer) => {
|
|
if (entryList.getEntries().length > 0) {
|
|
resolve(entryList.getEntries());
|
|
|
|
observer.disconnect();
|
|
}
|
|
}).observe({ type: 'largest-contentful-paint', buffered: true });
|
|
});
|
|
}
|
|
|
|
promise_test(async t => {
|
|
assert_implements(window.LargestContentfulPaint, "LargestContentfulPaint is not implemented");
|
|
|
|
lcpEntries = await LcpEntryListPromise();
|
|
|
|
assert_equals(lcpEntries.length, 1, "There should only be 1 entry.");
|
|
|
|
assert_true(lcpEntries[0].url.includes('lcp-133x106.png'), "The LCP entry should be the image.");
|
|
}, "Transparent text should not be LCP.")
|
|
</script>
|
|
</body> |