XRE_IsE10sParentProcess (as opposed to XRE_IsParentProcess) should have a better implementation
Categories
(Toolkit :: Startup and Profile System, task, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox70 | --- | affected |
People
(Reporter: Gijs, Unassigned)
References
Details
Cloned from bug 1567848.
Because XRE_IsE10sParentProcess depends on BrowserTabsRemoteAutostart which depends on the browser.tabs.remote.autostart pref (except on desktop Firefox when not run in automation), it is currently possible for XRE_IsE10sParentProcess to return true on fennec (cf. bug 1565794, bug 1565908). This kind of "pretend e10s but not really" can cause bugs.
It's not super obvious to me what would be the "right" way to fix this. Perhaps we need to move browser.tabs.remote.autostart to a more obviously non-desktop-only pref branch in StaticPrefs, and fix the relevant defaults. Though ideally, I'd like to remove it completely and switch things that need to disable e10s to using an env var. That would still leave the problem of how to detect apps like fennec or TB/SeaMonkey if/when/that don't use e10s at all. Perhaps some kind of "supports e10s" build-time define? Then we could set that for geckoview and desktop and not elsewhere. Or something.
Comment 1•6 years ago
|
||
Comment 2•6 years ago
|
||
Unless we already have an "e10s supported build" flag wouldn't it just be easiest to put app ifdefs in there?
| Reporter | ||
Comment 3•6 years ago
|
||
(In reply to Dave Townsend [:mossop] (he/him) from comment #2)
Unless we already have an "e10s supported build" flag wouldn't it just be easiest to put app ifdefs in there?
Probably.
Aside: Geoff, I wonder if this is what you're running into in https://groups.google.com/forum/#!topic/mozilla.dev.platform/EhepzWoM4z4 , because if you're using standard mochitest prefs from m-c then they'll indicate you're running e10s, and we'll block loads of URIs that aren't chrome:/resource:/about: in docshell in the parent process ( https://searchfox.org/mozilla-central/rev/325c1a707819602feff736f129cb36055ba6d94f/docshell/base/nsDocShell.cpp#9421-9423 ). To see if I'm right, it should be enough to just ensure browser.tabs.remote.autostart is set to false in your mochitest setup.
Comment 4•6 years ago
|
||
You're right, the mochitest prefs are overriding our default value of false. This is the simple answer I was looking for, thank you so much!
| Reporter | ||
Comment 5•6 years ago
|
||
(In reply to :Gijs (he/him) from comment #3)
(In reply to Dave Townsend [:mossop] (he/him) from comment #2)
Unless we already have an "e10s supported build" flag wouldn't it just be easiest to put app ifdefs in there?
Probably.
Oh, though I note that, AFAICT, there are no ifdefs that separate geckoview from fennec, and they have very different e10s characteristics (see also confusion in bug 1567848).
Updated•3 years ago
|
Description
•