gecko-dev/testing/web-platform/tests/navigation-timing/buffered-flag.window.js
Nicolás Peña Moreno 9df12247bd Bug 1566444 [wpt PR 17850] - Add buffered flag tests for LongTasks and NavigationTiming, a=testonly
Automatic update from web-platform-tests
Add buffered flag tests for LongTasks and NavigationTiming

This CL adds tests using a couple of PerformanceObservers to test the
buffered flag. In the case of LongTasks, it tests that the flag does not
work.

Bug: 969123
Change-Id: Ie96797c4560d29c8fd537fea2025ee59f49a73da
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1703591
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#679091}

--

wpt-commits: c3483214b956bd3460c1d657be1172a57a9a38f8
wpt-pr: 17850
2019-07-31 02:53:37 +00:00

16 lines
913 B
JavaScript

async_test(t => {
function checkEntryList(entries) {
assert_equals(entries.length, 1, "Only one navigation timing entry");
assert_equals(entries[0].entryType, "navigation", "entryType is \"navigation\"");
assert_equals(entries[0].name, window.location.toString(), "name is the address of the document");
}
// First observer creates second in callback to ensure the entry has been dispatched by the time
// the second observer begins observing.
new PerformanceObserver(t.step_func(entryList => {
checkEntryList(entryList.getEntries());
// Second observer requires 'buffered: true' to see the navigation entry.
new PerformanceObserver(t.step_func_done(list => {
checkEntryList(list.getEntries());
})).observe({type: 'navigation', buffered: true});
})).observe({entryTypes: ["navigation"]});
}, "PerformanceObserver with buffered flag sees previous navigation entry.");