blob: 44d2a1a968083e8c91f61b33909ec115ea1b3a63 [file] [log] [blame]
Nicolás Peña Morenod9e65dc2019-08-15 14:29:551<!DOCTYPE HTML>
2<meta charset=utf-8>
3<title>Largest Contentful Paint: observe element with background image in its first letter</title>
4<body>
5<style>
6#target::first-letter {
7 background-image: url('/images/black-rectangle.png');
8}
9</style>
10<script src="/resources/testharness.js"></script>
11<script src="/resources/testharnessreport.js"></script>
Nicolás Peña Moreno4ad4e602019-08-29 18:55:1412<script src="resources/largest-contentful-paint-helpers.js"></script>
Nicolás Peña Morenod9e65dc2019-08-15 14:29:5513<script>
Nicolás Peña Morenod9e65dc2019-08-15 14:29:5514 async_test(function (t) {
15 if (!window.LargestContentfulPaint) {
16 assert_unreached("LargestContentfulPaint is not implemented");
17 }
Nicolás Peña Moreno4ad4e602019-08-29 18:55:1418 const beforeLoad = performance.now();
Nicolás Peña Morenod9e65dc2019-08-15 14:29:5519 const observer = new PerformanceObserver(
20 t.step_func(function(entryList) {
21 entryList.getEntries().forEach(entry => {
22 // If we happen to get a text entry due to text happening before the image, return.
23 if (entry.url === '')
24 return;
Nicolás Peña Moreno4ad4e602019-08-29 18:55:1425 const url = window.location.origin + '/images/black-rectangle.png';
26 checkImage(entry, url, 'target', 0, beforeLoad, ['sizeLowerBound']);
Nicolás Peña Morenod9e65dc2019-08-15 14:29:5527 t.done();
28 })
29 }));
30 observer.observe({entryTypes: ['largest-contentful-paint']});
31 }, 'Largest Contentful Paint: first-letter is observable.');
32</script>
33<div id='target'>A</div>
34</body>