Automatic update from web-platform-tests [event-timing] Wait for pointerdown instead of mousedown (#55047) The event-timing/retrievability.html test assumes a mousedown event will be generated by test_driver.click(). Assuming a pointerdown instead is more general. -- wpt-commits: 28e09e9edd3560eca5fbdb7805124f9d8a9a97da wpt-pr: 55047
45 lines
1.7 KiB
HTML
45 lines
1.7 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<meta charset=utf-8>
|
|
<title>Event Timing: make sure 'event' entries are not retrievable by performance.getEntries* APIs.</title>
|
|
<meta name="timeout" content="long">
|
|
<button id='button'>Generate a 'click' event</button>
|
|
<script src=/resources/testharness.js></script>
|
|
<script src=/resources/testharnessreport.js></script>
|
|
<script src=/resources/testdriver.js></script>
|
|
<script src=/resources/testdriver-vendor.js></script>
|
|
|
|
<script src=resources/event-timing-test-utils.js></script>
|
|
|
|
<script>
|
|
function validateEntries() {
|
|
const entriesByName = performance.getEntriesByName('pointerdown', 'event');
|
|
const entriesByType = performance.getEntriesByType('event');
|
|
const allEntries = performance.getEntries();
|
|
assert_equals(entriesByName.length, 0, 'Event Timing entry should not be retrievable by getEntriesByName');
|
|
assert_equals(entriesByType.length, 0, 'Event Timing entry should not be retrievable by getEntriesByType');
|
|
assert_equals(allEntries.filter(e => e.entryType === 'event').length, 0, 'Event Timing entry should not be retrievable by getEntries');
|
|
}
|
|
|
|
/* Timeline:
|
|
Begin Busy Loop
|
|
Click 1 arrives
|
|
End Busy Loop
|
|
(Dispatch and Process Click 1 - buffered)
|
|
Onload Event Fires
|
|
Validate entries
|
|
*/
|
|
async_test(function(t) {
|
|
assert_implements(window.PerformanceEventTiming, 'Event Timing is not supported.');
|
|
new PerformanceObserver(t.step_func(entryList => {
|
|
if (entryList.getEntriesByName('pointerdown').length > 0) {
|
|
validateEntries();
|
|
t.done();
|
|
}
|
|
})).observe({entryTypes: ['event']});
|
|
clickAndBlockMain('button');
|
|
}, "Event Timing: make sure event-timing entries are not retrievable by performance.getEntries*.");
|
|
|
|
</script>
|
|
</html>
|