Remove nsIXULBrowserWindow::forceInitialBrowserNonRemote
Categories
(Firefox :: General, task, P3)
Tracking
()
People
(Reporter: dao, Unassigned)
References
Details
Only nsWindowWatcher::OpenWindowInternal
calls this and it's not clear why.
Updated•5 years ago
|
Comment 1•5 years ago
|
||
So the short answer is that just removing this doesn't work:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=aa7cb90d86ce8017c02540437ead066b3d8d6e13
Talking to Nika in #dom on matrix, it seems that the long version is that this is not straightforward. My understanding right now is:
- this codepath gets taken when something in the parent calls window.open() and the resulting window is a browser window
- this may include cases where we call
openDialog
oropenWindow
, not just a literalwindow.open
- the point of doing this is so we can ensure the new tab lives in the same process as the original tab, gets the correct about:blank origin, and gets a working
.opener
assigned to it. - we use some other magic (see also https://searchfox.org/mozilla-central/rev/91f6c02fcf4c16f78fdc4417f61f192688294066/browser/base/content/browser.js#6347 ) for some of the other cases.
I've got to admit, I still (despite Nika's best efforts!) don't really follow. Because my understanding is that the following things are also true:
- we don't really want almost anything to load in the parent process in a tab; we only really use it for about:preferences, about:config and a handful of other internal about: pages.
- we definitely do not want web-y things in such tabs to be in the parent process
- we definitely do not want such web-y things to have references to a chrome/system-principal'd opener
So I don't really understand why we care about forcing the tab to be in the parent - I don't believe we really want any of the supposed benefits anyway. Nika did also say that the longer-term plan for fission may end up being that we always start the tab off in the parent process in these cases, and then DocumentChannel can take care of switching it to the right process - which is fine, but then we wouldn't really need this method either.
Nika, would you mind elaborating a bit in this bug and/or linking this to the other work you're doing?
Comment 2•5 years ago
|
||
This method is being removed by my changes in bug 1616353 (specifically https://phabricator.services.mozilla.com/D67058).
Description
•