Implement Cross-Origin-Opener-Policy

RESOLVED FIXED in Firefox 67

Status

()

P2
normal
RESOLVED FIXED
2 months ago
13 days ago

People

(Reporter: Nika, Assigned: valentin)

Tracking

(Depends on: 2 bugs, Blocks: 3 bugs, {dev-doc-needed})

unspecified
mozilla67
dev-doc-needed
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Fission Milestone:M1, firefox67 fixed)

Details

Attachments

(4 attachments)

(Reporter)

Description

2 months ago

HTML Spec Issue: https://github.com/whatwg/html/issues/3740
Chrome Implementation Issue: https://bugs.chromium.org/p/chromium/issues/detail?id=922191
:annevk's more technical explainer: https://gist.github.com/annevk/6f2dd8c79c77123f39797f6bdac43f3e

The initial implementation of this feature will probably be easiest to implement using the in-flight process selection logic implemented in bug 1467223. A check would be added for a Cross-Origin-Opener-Policy mismatch which would cause an unconditional process swap, whether or not the source and destination remoteType values are the same.

(Reporter)

Updated

2 months ago
Blocks: 1477743
Keywords: dev-doc-needed
Priority: -- → P2

Updated

2 months ago
Fission Milestone: --- → M1
Attachment #9040185 - Attachment description: Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=nika → Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=nika!
(Assignee)

Comment 3

2 months ago
  • Adds nsIHttpChannelInternal.setTopWindowPrincipal used to pass the principal from the child to the parent

Depends on D18119

Attachment #9040185 - Attachment description: Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=nika! → Bug 1521808 - Implement Cross-Origin-Opener-Policy header r=mayhemer!,nika!
Attachment #9040476 - Attachment description: Bug 1521808 - Add xpcshell-test for CrossOriginOpenerPolicy → Bug 1521808 - Add xpcshell-test for CrossOriginOpenerPolicy r=mayhemer!,nika!
Attachment #9040476 - Attachment description: Bug 1521808 - Add xpcshell-test for CrossOriginOpenerPolicy r=mayhemer!,nika! → Bug 1521808 - Add xpcshell-test for CrossOriginOpenerPolicy r=mayhemer!,nika!,annevk!
(Assignee)

Comment 4

2 months ago
  • New topLevel loads get the nsILoadInfo.openerPolicy of the current top level document
  • Parsing the Cross-Opener-Origin-Policy of a channel will update mLoadInfo.openerPolicy and this value will get propagated to the child process.
  • SessionStore now checks nsIHttpChannel.hasCrossOriginOpenerPolicyMismatch (preffed off) and performs a process switch if needed

Depends on D18246

Comment 5

a month ago
Pushed by valentin.gosu@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/8d5174a560fa
Implement Cross-Origin-Opener-Policy header r=nika,mayhemer
https://hg.mozilla.org/integration/autoland/rev/cc0a5c7dabb4
Use topWindowPrincipal for CrossOriginOpenerPolicy check r=mayhemer,nika
https://hg.mozilla.org/integration/autoland/rev/c8c151d92c03
Add xpcshell-test for CrossOriginOpenerPolicy r=mayhemer,nika,annevk
https://hg.mozilla.org/integration/autoland/rev/80aeea5f7abe
Implement process switching based on Cross-Opener-Origin-Policy header r=nika,qdot
(Assignee)

Updated

a month ago
Blocks: 1527314

Updated

a month ago
Whiteboard: [2/14] patches r+; working towards for a green try

Updated

a month ago
Status: NEW → ASSIGNED

Comment 12

a month ago
Pushed by valentin.gosu@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/a08553c07886
Implement Cross-Origin-Opener-Policy header r=nika,mayhemer
https://hg.mozilla.org/integration/autoland/rev/94e513102b53
Use topWindowPrincipal for CrossOriginOpenerPolicy check r=mayhemer,nika
https://hg.mozilla.org/integration/autoland/rev/32ce09b2c33a
Add xpcshell-test for CrossOriginOpenerPolicy r=mayhemer,nika,annevk
https://hg.mozilla.org/integration/autoland/rev/42641f88d7da
Implement process switching based on Cross-Opener-Origin-Policy header r=nika,qdot
(Assignee)

Updated

a month ago
Flags: needinfo?(valentin.gosu)
(Assignee)

Updated

a month ago
Blocks: 1528269

Comment 13

a month ago
Backout by csabou@mozilla.com:
https://hg.mozilla.org/mozilla-central/rev/45aaded7cf63
Backed out 4 changesets for causing merge conflicts.

Backed out for causing merge conflicts. https://irccloud.mozilla.com/file/AxR0gkMP/image.png

Flags: needinfo?(valentin.gosu)

Comment 15

a month ago
Pushed by valentin.gosu@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/acf942062ea0
Implement Cross-Origin-Opener-Policy header r=nika,mayhemer
https://hg.mozilla.org/integration/autoland/rev/6c7b1d562420
Use topWindowPrincipal for CrossOriginOpenerPolicy check r=mayhemer,nika
https://hg.mozilla.org/integration/autoland/rev/a7dc0e4d0136
Add xpcshell-test for CrossOriginOpenerPolicy r=mayhemer,nika,annevk
https://hg.mozilla.org/integration/autoland/rev/ab75adc15a37
Implement process switching based on Cross-Opener-Origin-Policy header r=nika,qdot

Comment 16

a month ago
bugherder
Status: ASSIGNED → RESOLVED
Last Resolved: a month ago
status-firefox67: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
(Assignee)

Updated

a month ago
Blocks: 1529004
(Assignee)

Updated

a month ago
Flags: needinfo?(valentin.gosu)
(Assignee)

Updated

29 days ago
Depends on: 1530303
(Assignee)

Updated

29 days ago
Depends on: 1530329

Updated

29 days ago
Whiteboard: [2/14] patches r+; working towards for a green try

Updated

22 days ago
Duplicate of this bug: 1486836
Component: DOM → DOM: Core & HTML
Product: Core → Core
You need to log in before you can comment on or make changes to this bug.