blob: 4081eb14964a30cd765fa92e906f28fde7ecdf08 [file] [log] [blame]
This is a testharness.js-based test.
Found 90 tests; 48 PASS, 42 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS Basic sanity-checking (cross-origin)
PASS Basic sanity-checking (same-origin + document.domain)
PASS Basic sanity-checking (cross-site)
FAIL Only certain properties are accessible cross-origin (cross-origin) Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame.
FAIL Only certain properties are accessible cross-origin (same-origin + document.domain) Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame.
FAIL Only certain properties are accessible cross-origin (cross-site) Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame.
FAIL Only certain properties are usable as cross-origin this objects (cross-origin) promise_test: Unhandled rejection with value: object "SecurityError: Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame."
FAIL Only certain properties are usable as cross-origin this objects (same-origin + document.domain) promise_test: Unhandled rejection with value: object "SecurityError: Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame."
FAIL Only certain properties are usable as cross-origin this objects (cross-site) promise_test: Unhandled rejection with value: object "SecurityError: Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame."
PASS [[GetPrototypeOf]] should return null (cross-origin)
PASS [[GetPrototypeOf]] should return null (same-origin + document.domain)
PASS [[GetPrototypeOf]] should return null (cross-site)
FAIL [[SetPrototypeOf]] should return false (cross-origin) assert_throws_js: proto setter |call| on cross-origin Window function "function() { protoSetter.call(win, new Object()); }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame." ("SecurityError") expected instance of function "function TypeError() { [native code] }" ("TypeError")
FAIL [[SetPrototypeOf]] should return false (same-origin + document.domain) assert_throws_js: proto setter |call| on cross-origin Window function "function() { protoSetter.call(win, new Object()); }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame." ("SecurityError") expected instance of function "function TypeError() { [native code] }" ("TypeError")
FAIL [[SetPrototypeOf]] should return false (cross-site) assert_throws_js: proto setter |call| on cross-origin Window function "function() { protoSetter.call(win, new Object()); }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame." ("SecurityError") expected instance of function "function TypeError() { [native code] }" ("TypeError")
PASS [[IsExtensible]] should return true for cross-origin objects (cross-origin)
PASS [[IsExtensible]] should return true for cross-origin objects (same-origin + document.domain)
PASS [[IsExtensible]] should return true for cross-origin objects (cross-site)
FAIL [[PreventExtensions]] should throw for cross-origin objects (cross-origin) assert_throws_js: preventExtensions on cross-origin Window should throw function "function() { Object.preventExtensions(win) }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame." ("SecurityError") expected instance of function "function TypeError() { [native code] }" ("TypeError")
FAIL [[PreventExtensions]] should throw for cross-origin objects (same-origin + document.domain) assert_throws_js: preventExtensions on cross-origin Window should throw function "function() { Object.preventExtensions(win) }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame." ("SecurityError") expected instance of function "function TypeError() { [native code] }" ("TypeError")
FAIL [[PreventExtensions]] should throw for cross-origin objects (cross-site) assert_throws_js: preventExtensions on cross-origin Window should throw function "function() { Object.preventExtensions(win) }" threw object "SecurityError: Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame." ("SecurityError") expected instance of function "function TypeError() { [native code] }" ("TypeError")
FAIL [[GetOwnProperty]] - Properties on cross-origin objects should be reported |own| (cross-origin) Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame.
FAIL [[GetOwnProperty]] - Properties on cross-origin objects should be reported |own| (same-origin + document.domain) Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame.
FAIL [[GetOwnProperty]] - Properties on cross-origin objects should be reported |own| (cross-site) Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame.
FAIL [[GetOwnProperty]] - Property descriptors for cross-origin properties should be set up correctly (cross-origin) assert_equals: property descriptor for 0 should be enumerable expected true but got false
FAIL [[GetOwnProperty]] - Property descriptors for cross-origin properties should be set up correctly (same-origin + document.domain) assert_equals: property descriptor for 0 should be enumerable expected true but got false
FAIL [[GetOwnProperty]] - Property descriptors for cross-origin properties should be set up correctly (cross-site) assert_equals: property descriptor for 0 should be enumerable expected true but got false
PASS [[GetOwnProperty]] - Subframe named 'then' should shadow the default 'then' value (cross-origin)
PASS [[GetOwnProperty]] - Subframe named 'then' should shadow the default 'then' value (same-origin + document.domain)
PASS [[GetOwnProperty]] - Subframe named 'then' should shadow the default 'then' value (cross-site)
PASS [[GetOwnProperty]] - Subframes should be visible cross-origin only if their names don't match the names of cross-origin-exposed IDL properties (cross-origin)
PASS [[GetOwnProperty]] - Subframes should be visible cross-origin only if their names don't match the names of cross-origin-exposed IDL properties (same-origin + document.domain)
PASS [[GetOwnProperty]] - Subframes should be visible cross-origin only if their names don't match the names of cross-origin-exposed IDL properties (cross-site)
PASS [[GetOwnProperty]] - Should be able to get a property descriptor for an indexed property only if it corresponds to a child window. (cross-origin)
PASS [[GetOwnProperty]] - Should be able to get a property descriptor for an indexed property only if it corresponds to a child window. (same-origin + document.domain)
PASS [[GetOwnProperty]] - Should be able to get a property descriptor for an indexed property only if it corresponds to a child window. (cross-site)
PASS [[Delete]] Should throw on cross-origin objects (cross-origin)
PASS [[Delete]] Should throw on cross-origin objects (same-origin + document.domain)
PASS [[Delete]] Should throw on cross-origin objects (cross-site)
PASS [[DefineOwnProperty]] Should throw for cross-origin objects (cross-origin)
PASS [[DefineOwnProperty]] Should throw for cross-origin objects (same-origin + document.domain)
PASS [[DefineOwnProperty]] Should throw for cross-origin objects (cross-site)
FAIL Can only enumerate safelisted enumerable properties (cross-origin) assert_equals: Enumerate all enumerable safelisted cross-origin Window properties expected 2 but got 0
FAIL Can only enumerate safelisted enumerable properties (same-origin + document.domain) assert_equals: Enumerate all enumerable safelisted cross-origin Window properties expected 2 but got 0
FAIL Can only enumerate safelisted enumerable properties (cross-site) assert_equals: Enumerate all enumerable safelisted cross-origin Window properties expected 2 but got 0
FAIL [[OwnPropertyKeys]] should return all properties from cross-origin objects (cross-origin) assert_array_equals: Object.getOwnPropertyNames() gives the right answer for cross-origin Window lengths differ, expected array ["0", "1", "blur", "close", "closed", "focus", "frames", "length", "location", "opener", "parent", "postMessage", "self", "then", "top", "window"] length 16, got ["blur", "close", "closed", "focus", "frames", "length", "location", "opener", "parent", "postMessage", "self", "top", "window"] length 13
FAIL [[OwnPropertyKeys]] should return all properties from cross-origin objects (same-origin + document.domain) assert_array_equals: Object.getOwnPropertyNames() gives the right answer for cross-origin Window lengths differ, expected array ["0", "1", "blur", "close", "closed", "focus", "frames", "length", "location", "opener", "parent", "postMessage", "self", "then", "top", "window"] length 16, got ["blur", "close", "closed", "focus", "frames", "length", "location", "opener", "parent", "postMessage", "self", "top", "window"] length 13
FAIL [[OwnPropertyKeys]] should return all properties from cross-origin objects (cross-site) assert_array_equals: Object.getOwnPropertyNames() gives the right answer for cross-origin Window lengths differ, expected array ["0", "1", "blur", "close", "closed", "focus", "frames", "length", "location", "opener", "parent", "postMessage", "self", "then", "top", "window"] length 16, got ["blur", "close", "closed", "focus", "frames", "length", "location", "opener", "parent", "postMessage", "self", "top", "window"] length 13
FAIL [[OwnPropertyKeys]] should return the right symbol-named properties for cross-origin objects (cross-origin) assert_array_equals: Object.getOwnPropertySymbols() should return the three symbol-named properties that are exposed on a cross-origin Window lengths differ, expected array [symbol "Symbol(Symbol.toStringTag)", symbol "Symbol(Symbol.hasInstance)", symbol "Symbol(Symbol.isConcatSpreadable)"] length 3, got [] length 0
FAIL [[OwnPropertyKeys]] should return the right symbol-named properties for cross-origin objects (same-origin + document.domain) assert_array_equals: Object.getOwnPropertySymbols() should return the three symbol-named properties that are exposed on a cross-origin Window lengths differ, expected array [symbol "Symbol(Symbol.toStringTag)", symbol "Symbol(Symbol.hasInstance)", symbol "Symbol(Symbol.isConcatSpreadable)"] length 3, got [] length 0
FAIL [[OwnPropertyKeys]] should return the right symbol-named properties for cross-origin objects (cross-site) assert_array_equals: Object.getOwnPropertySymbols() should return the three symbol-named properties that are exposed on a cross-origin Window lengths differ, expected array [symbol "Symbol(Symbol.toStringTag)", symbol "Symbol(Symbol.hasInstance)", symbol "Symbol(Symbol.isConcatSpreadable)"] length 3, got [] length 0
FAIL [[OwnPropertyKeys]] should place the symbols after the property names after the subframe indices (cross-origin) assert_equals: 'then' property should be added to the end of the string list if not there expected "then" but got "close"
FAIL [[OwnPropertyKeys]] should place the symbols after the property names after the subframe indices (same-origin + document.domain) assert_equals: 'then' property should be added to the end of the string list if not there expected "then" but got "close"
FAIL [[OwnPropertyKeys]] should place the symbols after the property names after the subframe indices (cross-site) assert_equals: 'then' property should be added to the end of the string list if not there expected "then" but got "close"
FAIL [[OwnPropertyKeys]] should not reorder where 'then' appears if it's a named subframe, nor add another copy of 'then' (cross-origin) assert_equals: expected "then" but got "postMessage"
FAIL [[OwnPropertyKeys]] should not reorder where 'then' appears if it's a named subframe, nor add another copy of 'then' (same-origin + document.domain) assert_equals: expected "then" but got "postMessage"
FAIL [[OwnPropertyKeys]] should not reorder where 'then' appears if it's a named subframe, nor add another copy of 'then' (cross-site) assert_equals: expected "then" but got "postMessage"
PASS A and B jointly observe the same identity for cross-origin Window and Location (cross-origin)
PASS A and B jointly observe the same identity for cross-origin Window and Location (same-origin + document.domain)
PASS A and B jointly observe the same identity for cross-origin Window and Location (cross-site)
PASS Cross-origin functions get local Function.prototype (cross-origin)
PASS Cross-origin functions get local Function.prototype (same-origin + document.domain)
PASS Cross-origin functions get local Function.prototype (cross-site)
FAIL Cross-origin Window accessors get local Function.prototype (cross-origin) Cannot read property 'name' of undefined
FAIL Cross-origin Window accessors get local Function.prototype (same-origin + document.domain) Cannot read property 'name' of undefined
FAIL Cross-origin Window accessors get local Function.prototype (cross-site) Cannot read property 'name' of undefined
PASS Same-origin observers get different functions for cross-origin objects (cross-origin)
PASS Same-origin observers get different functions for cross-origin objects (same-origin + document.domain)
PASS Same-origin observers get different functions for cross-origin objects (cross-site)
FAIL Same-origin observers get different accessors for cross-origin Window (cross-origin) assert_not_equals: different Window accessors per-incumbent script settings object got disallowed value undefined
FAIL Same-origin observers get different accessors for cross-origin Window (same-origin + document.domain) assert_not_equals: different Window accessors per-incumbent script settings object got disallowed value undefined
FAIL Same-origin observers get different accessors for cross-origin Window (cross-site) assert_not_equals: different Window accessors per-incumbent script settings object got disallowed value undefined
FAIL Same-origin observers get different accessors for cross-origin Location (cross-origin) Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame.
FAIL Same-origin observers get different accessors for cross-origin Location (same-origin + document.domain) Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame.
FAIL Same-origin observers get different accessors for cross-origin Location (cross-site) Blocked a frame with origin "http://web-platform.test:8001" from accessing a cross-origin frame.
PASS {}.toString.call() does the right thing on cross-origin objects (cross-origin)
PASS {}.toString.call() does the right thing on cross-origin objects (same-origin + document.domain)
PASS {}.toString.call() does the right thing on cross-origin objects (cross-site)
PASS Resolving a promise with a cross-origin window without a 'then' subframe should work (cross-origin)
PASS Resolving a promise with a cross-origin window without a 'then' subframe should work (same-origin + document.domain)
PASS Resolving a promise with a cross-origin window without a 'then' subframe should work (cross-site)
PASS Resolving a promise with a cross-origin window with a 'then' subframe should work (cross-origin)
PASS Resolving a promise with a cross-origin window with a 'then' subframe should work (same-origin + document.domain)
PASS Resolving a promise with a cross-origin window with a 'then' subframe should work (cross-site)
PASS Resolving a promise with a cross-origin location should work (cross-origin)
PASS Resolving a promise with a cross-origin location should work (same-origin + document.domain)
PASS Resolving a promise with a cross-origin location should work (cross-site)
PASS LegacyLenientThis behavior (cross-origin)
PASS LegacyLenientThis behavior (same-origin + document.domain)
PASS LegacyLenientThis behavior (cross-site)
Harness: the test ran to completion.