| // META: script=/common/get-host-info.sub.js |
| // META: script=./resources/common.js |
| // META: timeout=long |
| 'use strict'; |
| |
| assert_true(self.crossOriginIsolated); |
| |
| promise_test(async testCase => { |
| const {iframes, windows} = await build([ |
| { |
| id: 'cross-origin-1', |
| redirect: 'server', |
| children: [ |
| { |
| id: 'same-origin-2', |
| }, |
| { |
| id: 'cross-origin-3', |
| }, |
| { |
| id: 'cross-site-4', |
| } |
| ], |
| }, |
| { |
| id: 'cross-origin-5', |
| redirect: 'server', |
| window_open: true, |
| children: [ |
| { |
| id: 'same-origin-6', |
| }, |
| { |
| id: 'cross-origin-7', |
| }, |
| { |
| id: 'cross-site-8', |
| } |
| ], |
| }, |
| ]); |
| const keep = sameOriginContexts(frames).concat(sameOriginContexts(windows)); |
| 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-origin-1', |
| src: frames['cross-origin-1'].src, |
| }, |
| }, |
| { |
| url: windows['same-origin-2'].location.href, |
| scope: 'Window', |
| container: { |
| id: 'cross-origin-1', |
| src: iframes['cross-origin-1'].src, |
| }, |
| }, |
| ]); |
| }, 'performance.measureUserAgentSpecificMemory does not leak server redirected URL.'); |