mirror of
https://github.com/servo/servo.git
synced 2025-07-12 09:53:40 +01:00
43 lines
1.5 KiB
HTML
43 lines
1.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<meta charset=utf-8>
|
|
<title>Event Timing: make sure event-timing entries are retrievable by existing perf 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-support.js></script>
|
|
<img src=resources/slow-image.py>
|
|
|
|
<script>
|
|
function validateEntries() {
|
|
const entriesByName = performance.getEntriesByName('mousedown', 'event');
|
|
const entriesByType = performance.getEntriesByType('event');
|
|
const allEntries = performance.getEntries();
|
|
assert_equals(entriesByName.length, 1, 'event-timing entry should be retrievable by getEntriesByName');
|
|
const e = entriesByName[0];
|
|
assert_true(entriesByType.includes(e), 'event-timing entry should be retrievable by getEntries');
|
|
assert_true(allEntries.includes(e), 'event-timing entry should be retrievable by getEntriesByType');
|
|
}
|
|
|
|
/* 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) {
|
|
clickAndBlockMain('button');
|
|
on_event(window, 'load', e => {
|
|
validateEntries();
|
|
t.done();
|
|
});
|
|
}, "Event Timing: make sure event-timing entries are retrievable by existing perf APIs.");
|
|
|
|
</script>
|
|
</html>
|