| <!DOCTYPE html> |
| <head> |
| <meta charset='utf-8' /> |
| <script src="/resources/testharness.js"></script> |
| <script src='/resources/testharnessreport.js'></script> |
| <script src="/common/performance-timeline-utils.js"></script> |
| <script> |
| setup({explicit_done: true}) |
| |
| window.addEventListener('load', function() { |
| // there should be exactly three server-timing entries, 2 for document, 1 for img#one |
| test_entries(performance.getEntriesByType('navigation')[0].serverTiming, [{ |
| duration: 1.1, |
| name: 'metric1', |
| description: 'document', |
| }, { |
| duration: 1.2, |
| name: 'metric1', |
| description: 'document', |
| }]) |
| test_entries(performance.getEntriesByName(document.querySelector('img#one').src)[0].serverTiming, [{ |
| duration: 2.1, |
| name: 'metric2', |
| description: 'blue.png', |
| }]) |
| |
| new PerformanceObserver(function(entryList, observer) { |
| // there should be exactly one server-timing entry, 1 for img#two |
| test_entries(entryList.getEntriesByName(document.querySelector('img#two').src)[0].serverTiming, [{ |
| duration: 3.1, |
| name: 'metric3', |
| description: 'green.png', |
| }]) |
| observer.disconnect() |
| done() |
| }).observe({entryTypes: ['resource']}) |
| |
| var img = document.createElement('img') |
| img.id = 'two' |
| img.src = './resources/green.png' |
| document.getElementsByTagName('script')[0].parentNode.appendChild(img) |
| }) |
| </script> |
| </head> |
| <img id='one' src='resources/blue.png'> |