<!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'/>