mirror of
https://github.com/servo/servo.git
synced 2025-06-28 02:53:48 +01:00
35 lines
No EOL
1.3 KiB
JavaScript
35 lines
No EOL
1.3 KiB
JavaScript
const SAME_ORIGIN = {origin: get_host_info().HTTP_ORIGIN, name: "SAME_ORIGIN"};
|
|
const CROSS_ORIGIN = {origin: get_host_info().HTTP_REMOTE_ORIGIN, name: "CROSS_ORIGIN"}
|
|
|
|
function checkMeasureMemoryBreakdown(breakdown, options) {
|
|
let allowed = new Set(options.allowed);
|
|
assert_own_property(breakdown, 'bytes');
|
|
assert_greater_than_equal(breakdown.bytes, 0);
|
|
assert_own_property(breakdown, 'userAgentSpecificTypes');
|
|
for (let userAgentSpecificType of breakdown.userAgentSpecificTypes) {
|
|
assert_equals(typeof userAgentSpecificType, 'string');
|
|
}
|
|
assert_own_property(breakdown, 'attribution');
|
|
for (let attribution of breakdown.attribution) {
|
|
assert_equals(typeof attribution, 'string');
|
|
assert_true(
|
|
allowed.has(attribution),
|
|
`${attribution} must be in ${JSON.stringify(options.allowed)}`);
|
|
}
|
|
}
|
|
|
|
function checkMeasureMemory(result, options) {
|
|
assert_own_property(result, 'bytes');
|
|
assert_own_property(result, 'breakdown');
|
|
let bytes = 0;
|
|
for (let breakdown of result.breakdown) {
|
|
checkMeasureMemoryBreakdown(breakdown, options);
|
|
bytes += breakdown.bytes;
|
|
}
|
|
assert_equals(bytes, result.bytes);
|
|
}
|
|
|
|
function getUrl(host, relativePath) {
|
|
const path = new URL(relativePath, window.location).pathname;
|
|
return `${host.origin}${path}`;
|
|
} |