summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/largest-contentful-paint/idlharness.html
blob: 5f5d286b356cf5dcffd76f2ed6f689804e8426ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!doctype html>
<title>Largest Contentful Paint IDL tests</title>
<link rel="help" href="https://wicg.github.io/largest-contentful-paint/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/WebIDLParser.js"></script>
<script src="/resources/idlharness.js"></script>
<script>
'use strict';

idl_test(
  ['largest-contentful-paint'],
  ['performance-timeline', 'dom', 'hr-time'],
  async (idl_array, t) => {
    idl_array.add_objects({
      LargestContentfulPaint: ['lcp']
    });

    window.lcp = await new Promise((resolve, reject) => {
      const observer = new PerformanceObserver(entryList => {
        resolve(entryList.getEntries()[0]);
      });
      observer.observe({type: 'largest-contentful-paint', buffered: true});
      t.step_timeout(() => reject('Timed out waiting for LargestContentfulPaint entry'), 3000);
    });
  }
);
</script>
<!-- a contentful element to observe -->
<img src=/images/lcp-100x50.png>