| <!DOCTYPE HTML> |
| <meta charset=utf-8> |
| <title>Element Timing: 'element' entries are not accessible via performance timeline</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="resources/element-timing-helpers.js"></script> |
| <script> |
| let img; |
| async_test(function (t) { |
| assert_implements(window.PerformanceElementTiming, "PerformanceElementTiming is not implemented"); |
| const beforeRender = performance.now(); |
| new PerformanceObserver( |
| t.step_func_done(function(entryList) { |
| assert_equals(entryList.getEntries().length, 1); |
| const entry = entryList.getEntries()[0]; |
| assert_equals(entry.entryType, 'element'); |
| assert_equals(entry.name, 'image-paint'); |
| |
| const entriesByName = performance.getEntriesByName('image-paint', 'element'); |
| const entriesByType = performance.getEntriesByType('element'); |
| const allEntries = performance.getEntries(); |
| assert_equals(entriesByName.length, 0, 'Element Timing entry should not be retrievable by getEntriesByName'); |
| assert_equals(entriesByType.length, 0, 'Element Timing entry should not be retrievable by getEntriesByType'); |
| assert_equals(allEntries.filter(e => e.entryType === 'element').length, 0, 'Element Timing entry should not be retrievable by getEntries'); |
| }) |
| ).observe({type: 'element', buffered: true}); |
| }, 'Element Timing entries are not accessible via performance.getEntries*'); |
| </script> |
| <img src='resources/square100.png' elementtiming='my_image' id='my_id'/> |