summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/user-timing/buffered-flag.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/user-timing/buffered-flag.any.js')
-rw-r--r--testing/web-platform/tests/user-timing/buffered-flag.any.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/testing/web-platform/tests/user-timing/buffered-flag.any.js b/testing/web-platform/tests/user-timing/buffered-flag.any.js
new file mode 100644
index 0000000000..f938c8522d
--- /dev/null
+++ b/testing/web-platform/tests/user-timing/buffered-flag.any.js
@@ -0,0 +1,27 @@
+async_test(t => {
+ // 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 mark entry.');
+ assert_equals(entries[0].entryType, 'mark');
+ })).observe({type: 'mark', buffered: true});
+ }).observe({entryTypes: ['mark']});
+ performance.mark('foo');
+}, 'PerformanceObserver with buffered flag sees previous marks');
+
+async_test(t => {
+ // 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 measure entry.');
+ assert_equals(entries[0].entryType, 'measure');
+ })).observe({type: 'measure', buffered: true});
+ }).observe({entryTypes: ['measure']});
+ performance.measure('bar');
+}, 'PerformanceObserver with buffered flag sees previous measures');