diff options
Diffstat (limited to 'testing/web-platform/tests/measure-memory/iframe.cross-site.https.window.js')
-rw-r--r-- | testing/web-platform/tests/measure-memory/iframe.cross-site.https.window.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/testing/web-platform/tests/measure-memory/iframe.cross-site.https.window.js b/testing/web-platform/tests/measure-memory/iframe.cross-site.https.window.js new file mode 100644 index 0000000000..a4c50a5687 --- /dev/null +++ b/testing/web-platform/tests/measure-memory/iframe.cross-site.https.window.js @@ -0,0 +1,57 @@ +// META: script=/common/get-host-info.sub.js +// META: script=./resources/checker.js +// META: script=./resources/common.js +// META: timeout=long +'use strict'; + +promise_test(async testCase => { + assert_true(self.crossOriginIsolated); + + const {iframes, windows} = await build([ + { + id: 'cross-site-1', + children: [ + { + id: 'same-origin-2', + }, + { + id: 'cross-origin-3', + }, + { + id: 'cross-site-4', + } + ], + }, + ]); + try { + const result = await performance.measureUserAgentSpecificMemory(); + checkMeasureMemory(result, [ + { + url: window.location.href, + scope: 'Window', + container: null, + }, + { + url: 'cross-origin-url', + scope: 'cross-origin-aggregated', + container: { + id: 'cross-site-1', + src: iframes['cross-site-1'].src, + }, + }, + { + url: windows['same-origin-2'].location.href, + scope: 'Window', + container: { + id: 'cross-site-1', + src: iframes['cross-site-1'].src, + }, + }, + ]); + } catch (error) { + if (!(error instanceof DOMException)) { + throw error; + } + assert_equals(error.name, 'SecurityError'); + } +}, 'performance.measureUserAgentSpecificMemory URLs within a cross-site iframe.'); |