Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[COOP] Fix noopener not being applied to same-origin-plus-coep cases #27759

Merged
merged 1 commit into from Mar 1, 2021

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Feb 24, 2021

COOP requires that when a frame opens a popup, if that frame is
cross-origin with its top frame, and its top frame COOP value is
same-origin, that popup should be opened with noopener.
This fixes the case where we have COOP: same-origin plus COEP:
require-corp, in which case COOP.value will be same-origin-plus-coep.

This fix also corrects the sandbox crash reported initially in the
linked bug.
Indeed sandboxed iframes have an opaque origin, and are therefore cross
origin with their top frame. Applying noopener ensures the initial empty
document is not cross origin isolated, which was the root cause of the
crash (before this, the initial empty document had coop:unsafe-none, but
was cross origin isolated)

Bug: 1181673
Fixed: 1181673

Change-Id: Iaef658778ac25da0c84763b6115ff40c105e618a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2712945
Commit-Queue: Pâris Meuleman <pmeuleman@chromium.org>
Auto-Submit: Pâris Meuleman <pmeuleman@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Arthur Hemery <ahemery@chromium.org>
Cr-Commit-Position: refs/heads/master@{#858605}

Copy link
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Chromium project.

@chromium-wpt-export-bot chromium-wpt-export-bot force-pushed the chromium-export-cl-2712945 branch 2 times, most recently from 7fd129c to 5ed91ca Compare February 25, 2021 10:15
@chromium-wpt-export-bot chromium-wpt-export-bot changed the title [CrossOriginIsolation] Fix failed navigation leads to browser crash [COOP] Fix noopener not being applied to same-origin-plus-coep cases Feb 25, 2021
@chromium-wpt-export-bot chromium-wpt-export-bot force-pushed the chromium-export-cl-2712945 branch 5 times, most recently from 6ff61f0 to 8d41416 Compare March 1, 2021 16:19
COOP requires that when a frame opens a popup, if that frame is
cross-origin with its top frame, and its top frame COOP value is
same-origin, that popup should be opened with noopener.
This fixes the case where we have COOP: same-origin plus COEP:
require-corp, in which case COOP.value will be same-origin-plus-coep.

This fix also corrects the sandbox crash reported initially in the
linked bug.
Indeed sandboxed iframes have an opaque origin, and are therefore cross
origin with their top frame. Applying noopener ensures the initial empty
document is not cross origin isolated, which was the root cause of the
crash (before this, the initial empty document had coop:unsafe-none, but
was cross origin isolated)

Bug: 1181673
Fixed: 1181673

Change-Id: Iaef658778ac25da0c84763b6115ff40c105e618a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2712945
Commit-Queue: Pâris Meuleman <pmeuleman@chromium.org>
Auto-Submit: Pâris Meuleman <pmeuleman@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Arthur Hemery <ahemery@chromium.org>
Cr-Commit-Position: refs/heads/master@{#858605}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants