Make it possible for the parent process to choose a content process to assign a remote <xul:browser> to
Categories
(Core :: DOM: Content Processes, task, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox81 | --- | fixed |
People
(Reporter: mconley, Assigned: nika)
References
Details
Attachments
(4 files)
This is going to be needed for Picture-in-Picture, which opens up an always-on-top window, and inserts a <xul:browser> that is supposed to run in the same content process as the originating video.
Right now, we use the old sameProcessAsFrameLoader mechanism to pull this off with the originating tab's frameLoader: https://searchfox.org/mozilla-central/rev/ebe492edacc75bb122a2b380e4cafcca3470864c/toolkit/components/pictureinpicture/content/player.js#91
But that's not going to fly with Fission. Any suggestions, Nika?
Assignee | ||
Comment 1•5 years ago
|
||
This might work if we establish an opener
relationship between the PiP window & the source frame's window. If you do that & the principal matches, it should load into the same process.
Not sure if we have any super handy facilities for this from the parent process, but it shouldn't be too hard to add one if we need it.
Altenatively we could have something like sameProcessAsWindow which takes an inner window id?
Comment 2•5 years ago
|
||
mconley says this bug is needed for PiP Fission. PiP blocks enabling Fission in Nightly (M6), so we'll need this bug for M6, too.
Comment 3•5 years ago
|
||
Tracking for Fission M6b
Where possible, we'd like DocumentChannel to own this process logic, not <xul:browser>.
kmag says he'll need to do something similar for WebExtension BCG.
Comment 4•4 years ago
|
||
Leaving NI for Nika here as she has an idea for implementing this.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 5•4 years ago
|
||
This attribute will subsume the existing sameProcessAsFrameLoader attribute. It
works by specifying the BrowsingContextGroup which the initial BrowsingContext
in a <browser> should be created within.
Due to bug 1652144, all documents within the same BrowsingContextGroup with the
same remote type will be loaded in the same process, meaning that specifying
both "initialBrowsingContextGroupId" and "remoteType" will cause the initial
about:blank document to be loaded in a specific content process.
Assignee | ||
Comment 6•4 years ago
|
||
This attribute, when combined with the remoteType attribute, should subsume all
callers of sameProcessAsFrameLoader, and also support selecting the same process
as an out-of-process iframe.
Assignee | ||
Comment 7•4 years ago
|
||
This attribute can be used to force non-tab extension browsers to be loaded in
the correct BrowsingContextGroup, and also subsumes the existing
sameProcessAsFrameLoader uses in extension code.
Assignee | ||
Comment 8•4 years ago
|
||
The functionality has been fully subsumed by the new
initialBrowsingContextGroupId attribute, so it is no longer necessary.
Comment 10•4 years ago
|
||
Comment 11•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/7f5deeecabd4
https://hg.mozilla.org/mozilla-central/rev/bed38dcb3c26
https://hg.mozilla.org/mozilla-central/rev/c6bac228345d
https://hg.mozilla.org/mozilla-central/rev/5cdeca6b1feb
https://hg.mozilla.org/mozilla-central/rev/91dcf4dce9e6
Description
•