[wpt-sync] Sync PR 24194 - Origin isolation: implement window.originIsolationRestricted
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox80 fixed)
| Tracking | Status | |
|---|---|---|
| firefox80 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 24194 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/24194
Details from upstream follow.
Domenic Denicola <domenic@chromium.org> wrote:
Origin isolation: implement window.originIsolationRestricted
See https://github.com/WICG/origin-isolation/issues/24 and
https://github.com/WICG/origin-isolation/pull/30 for background,
and https://github.com/whatwg/html/pull/5545 for the specification.Failing test expectations include:
- We implement (3) from
https://github.com/WICG/origin-isolation/issues/24
instead of (2) for now, so we fail getter-sandboxed-iframe. Tracking
at https://crbug.com/1095653.- data: URLs are not [SecureContext] in Chromium
(https://crbug.com/1095656) so getter-data-url fails.- Other failures are due to the lack of origin vs site-keying, which is
now more directly observable. See bug 1067389.Bug: 1042415, 1067389
Change-Id: I20c2d3e3fec7a5c0f1d12c386999c32fe27b6a34
Reviewed-on: https://chromium-review.googlesource.com/2243994
WPT-Export-Revision: 0341b9f5509371b0238fdbc5024c467220eaa838
| Assignee | ||
Comment 1•6 years ago
|
||
| Assignee | ||
Comment 2•6 years ago
|
||
| Assignee | ||
Comment 3•6 years ago
|
||
| Assignee | ||
Comment 4•6 years ago
|
||
CI Results
Ran 11 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 25 tests and 3 subtests
Status Summary
Firefox
OK : 25
PASS : 78
FAIL : 133
Chrome
OK : 22
PASS : 116
FAIL : 54
ERROR: 3
Safari
OK : 24
PASS : 71
FAIL : 125
ERROR: 1
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
/origin-isolation/parent-yes-child1-no-child2-no-children-same.sub.https.html
Parent to child1: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
child1: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
parent: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
Parent to child2: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child1: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child2: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
child2: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/parent-no-child1-no-child2-yes-children-same.sub.https.html
child1: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
parent: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
child2: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/parent-yes-child-yes-same.sub.https.html
parent: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
child: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/parent-no-child-bad-subdomain.sub.https.html
""?1"": originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
"?2": originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
"(?1)": originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
"true": originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
"?0": originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
"1": originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
"": originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/parent-yes-child1-no-child2-yes-children-different.sub.https.html
child1: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
child1 to child2: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
child2 to child1: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
parent: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
Parent to child2: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
child1 to child2: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
child2: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
Parent to child1: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child2: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child1: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
child2 to child1: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
/origin-isolation/parent-no-child-yes-same.sub.https.html
child: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
parent: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/going-back.sub.https.html
After navigation: parent to child2: setting document.domain must not give sync access: FAIL
Before navigation: parent to child1: messageerror event must occur: FAIL
After back: parent to child1: messageerror event must occur: FAIL
After navigation: parent to child2: messageerror event must occur: FAIL
After back: parent to child2: setting document.domain must not give sync access: FAIL
After back: parent to child2: messageerror event must occur: FAIL
Before navigation: parent to child1: setting document.domain must not give sync access: FAIL
After back: parent to child1: setting document.domain must not give sync access: FAIL
/origin-isolation/getter-data-url.https.html
originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/parent-yes-child1-no-child2-no-children-different.sub.https.html
Parent to child1: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
child1: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
parent: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
Parent to child2: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child1: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child2: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
child2: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/parent-yes-child1-yes-child2-yes-children-same.sub.https.html
Parent to child1: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
child2: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
parent: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
Parent to child2: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child1: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child2: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
child1: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/getter-removed-iframe.sub.https.html
Removing the iframe does not change originIsolationRestricted: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/parent-yes-child-no-same.sub.https.html
parent: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
child: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/parent-yes-child1-no-child2-yes-children-same.sub.https.html
Parent to child1: messageerror event must occur: FAIL (Safari: FAIL)
child1: originIsolationRestricted must equal false: FAIL (Safari: FAIL)
parent: originIsolationRestricted must equal true: FAIL (Safari: FAIL)
Parent to child2: messageerror event must occur: FAIL (Safari: FAIL)
Parent to child1: setting document.domain must not give sync access: FAIL (Safari: FAIL)
Parent to child2: setting document.domain must not give sync access: FAIL (Safari: FAIL)
child2: originIsolationRestricted must equal false: FAIL (Safari: FAIL)
/origin-isolation/removing-iframes.sub.https.html
Parent to child3: messageerror event must occur: FAIL (Safari: FAIL)
child1: originIsolationRestricted must equal false: FAIL (Safari: FAIL)
child3: originIsolationRestricted must equal false: FAIL (Safari: FAIL)
parent: originIsolationRestricted must equal true: FAIL (Safari: FAIL)
Before: messageerror event must occur: FAIL (Safari: FAIL)
Parent to child2: messageerror event must occur: FAIL (Safari: FAIL)
Before: setting document.domain must not give sync access: FAIL (Safari: FAIL)
Parent to child2: setting document.domain must not give sync access: FAIL (Safari: FAIL)
Parent to child3: setting document.domain must not give sync access: FAIL (Safari: FAIL)
child2: originIsolationRestricted must equal false: FAIL (Safari: FAIL)
/origin-isolation/parent-no-child-yes-subdomain.sub.https.html
setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
parent: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
child: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
/origin-isolation/parent-no-child1-yes-child2-no-children-same.sub.https.html
Parent to child1: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
child2: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
Parent to child2: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
parent: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
Parent to child1: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child2: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
child1: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/parent-yes-child-yes-subdomain.sub.https.html
setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
parent: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
child: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
/origin-isolation/parent-no-child-yes-with-params-subdomain.sub.https.html
setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
parent: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
child: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
/origin-isolation/parent-yes-child1-yes-child2-no-children-same.sub.https.html
Parent to child1: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
child2: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
parent: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
Parent to child2: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child1: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child2: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
child1: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/getter-sandboxed-iframe.sub.https.html
originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
/origin-isolation/about-blank.https.sub.html
about:blank to child2: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
about:blank: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
parent: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
about:blank to child2: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
child2: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
child2 to about:blank: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
child2 to about:blank: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
/origin-isolation/parent-yes-child1-yes-child2-yes-children-different.sub.https.html
child1 to child2: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
child2 to child1: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
parent: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
Parent to child2: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
child1 to child2: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
child2: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
Parent to child1: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child2: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child1: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
child1: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
child2 to child1: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
/origin-isolation/parent-yes-child-no-subdomain.sub.https.html
setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
parent: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
child: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
/origin-isolation/parent-no-child1-no-child2-yes-children-different.sub.https.html
child1: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
child1 to child2: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
child2 to child1: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
Parent to child2: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
parent: originIsolationRestricted must equal false: FAIL (Chrome: FAIL, Safari: FAIL)
child1 to child2: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
child2: originIsolationRestricted must equal true: FAIL (Chrome: FAIL, Safari: FAIL)
Parent to child2: setting document.domain must not give sync access: FAIL (Chrome: PASS, Safari: FAIL)
child2 to child1: messageerror event must occur: FAIL (Chrome: PASS, Safari: FAIL)
Comment 6•6 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/415f1837c9f6
https://hg.mozilla.org/mozilla-central/rev/0332d942396e
Description
•