Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

// META: script=/common/get-host-info.sub.js
// META: script=./resources/checker.js
// META: script=./resources/common.js
// META: timeout=long
'use strict';
function indexOfEmptyEntry(result) {
return result.breakdown.findIndex(isEmptyBreakdownEntry);
}
promise_test(async testCase => {
assert_true(self.crossOriginIsolated);
const initial = await performance.measureUserAgentSpecificMemory();
let observed_different_order = false;
for (let i = 0; i < 100; ++i) {
const current = await performance.measureUserAgentSpecificMemory();
if (indexOfEmptyEntry(initial) != indexOfEmptyEntry(current)) {
observed_different_order = true;
}
}
// The order of the breakdown entries must be randomized.
// A conforming implementation may fail the following assert with
// the probability of at most 2^-100 since there are at least two
// entries in the breakdown.
assert_true(observed_different_order);
}, 'Well-formed result of performance.measureUserAgentSpecificMemory.');