summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/resource-timing/buffered-flag.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/resource-timing/buffered-flag.any.js')
-rw-r--r--testing/web-platform/tests/resource-timing/buffered-flag.any.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/testing/web-platform/tests/resource-timing/buffered-flag.any.js b/testing/web-platform/tests/resource-timing/buffered-flag.any.js
new file mode 100644
index 0000000000..b46fd00e69
--- /dev/null
+++ b/testing/web-platform/tests/resource-timing/buffered-flag.any.js
@@ -0,0 +1,18 @@
+async_test(t => {
+ performance.clearResourceTimings();
+ // First observer creates second in callback to ensure the entry has been dispatched by the time
+ // the second observer begins observing.
+ new PerformanceObserver(() => {
+ // Second observer requires 'buffered: true' to see an entry.
+ new PerformanceObserver(t.step_func_done(list => {
+ const entries = list.getEntries();
+ assert_equals(entries.length, 1, 'There should be 1 resource entry.');
+ assert_equals(entries[0].entryType, 'resource');
+ assert_greater_than(entries[0].startTime, 0);
+ assert_greater_than(entries[0].responseEnd, entries[0].startTime);
+ assert_greater_than(entries[0].duration, 0);
+ assert_true(entries[0].name.endsWith('resources/empty.js'));
+ })).observe({'type': 'resource', buffered: true});
+ }).observe({'entryTypes': ['resource']});
+ fetch('resources/empty.js');
+}, 'PerformanceObserver with buffered flag sees previous resource entries.');