39 lines
2 KiB
JavaScript
39 lines
2 KiB
JavaScript
// META: script=resources/user-timing-helper.js
|
|
|
|
async_test(function (t) {
|
|
let mark_entries = [];
|
|
const expected_entries =
|
|
[{ entryType: "mark", name: "mark1", detail: null},
|
|
{ entryType: "mark", name: "mark2", detail: null},
|
|
{ entryType: "mark", name: "mark3", detail: null},
|
|
{ entryType: "mark", name: "mark4", detail: null},
|
|
{ entryType: "mark", name: "mark5", detail: null},
|
|
{ entryType: "mark", name: "mark6", detail: {}},
|
|
{ entryType: "mark", name: "mark7", detail: {info: 'abc'}},
|
|
{ entryType: "mark", name: "mark8", detail: null, startTime: 234.56},
|
|
{ entryType: "mark", name: "mark9", detail: {count: 3}, startTime: 345.67}];
|
|
const observer = new PerformanceObserver(
|
|
t.step_func(function (entryList, obs) {
|
|
mark_entries =
|
|
mark_entries.concat(entryList.getEntries());
|
|
if (mark_entries.length >= expected_entries.length) {
|
|
checkEntries(mark_entries, expected_entries);
|
|
observer.disconnect();
|
|
t.done();
|
|
}
|
|
})
|
|
);
|
|
self.performance.clearMarks();
|
|
observer.observe({entryTypes: ["mark"]});
|
|
const returned_entries = [];
|
|
returned_entries.push(self.performance.mark("mark1"));
|
|
returned_entries.push(self.performance.mark("mark2", undefined));
|
|
returned_entries.push(self.performance.mark("mark3", null));
|
|
returned_entries.push(self.performance.mark("mark4", {}));
|
|
returned_entries.push(self.performance.mark("mark5", {detail: null}));
|
|
returned_entries.push(self.performance.mark("mark6", {detail: {}}));
|
|
returned_entries.push(self.performance.mark("mark7", {detail: {info: 'abc'}}));
|
|
returned_entries.push(self.performance.mark("mark8", {startTime: 234.56}));
|
|
returned_entries.push(self.performance.mark("mark9", {detail: {count: 3}, startTime: 345.67}));
|
|
checkEntries(returned_entries, expected_entries);
|
|
}, "mark entries' detail and startTime are customizable.");
|