summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/navigation-timing/buffered-flag.window.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/navigation-timing/buffered-flag.window.js')
-rw-r--r--testing/web-platform/tests/navigation-timing/buffered-flag.window.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/testing/web-platform/tests/navigation-timing/buffered-flag.window.js b/testing/web-platform/tests/navigation-timing/buffered-flag.window.js
new file mode 100644
index 0000000000..c6b1e0bc85
--- /dev/null
+++ b/testing/web-platform/tests/navigation-timing/buffered-flag.window.js
@@ -0,0 +1,16 @@
+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.");