Deduplicate process selection logic between E10SUtils.sys.mjs and ProcessIsolation.cpp
Categories
(Core :: DOM: Content Processes, enhancement)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox153 | --- | fixed |
People
(Reporter: nika, Assigned: nika)
References
(Blocks 1 open bug)
Details
Attachments
(4 files, 1 obsolete file)
Currently there are 2 distinct pieces of code which are generally implementing roughly the same decision making for process selection - E10SUtils.sys.mjs is used to predict the remoteType to use for a <browser> element as it is being added to the DOM, while ProcessIsolation is used to actually perform the process isolation during navigations.
This bug is to track removing the separate E10SUtils.sys.mjs logic, instead exposing a similar interface from the ProcessIsolation.cpp code, such that the backend can be shared and future changes to the process isolation logic don't need to be replicated in both code paths.
| Assignee | ||
Comment 1•7 months ago
|
||
As noted by bug 2011309, the browser is quite broken if it is disabled already,
and the prev should be removed entirely. This also removes the slighly
confusing comment, which seems to no longer be relevant (likely due to changes
in how the flag is implemented as it became a stronger requirement).
| Assignee | ||
Comment 2•7 months ago
|
||
This replaces the existing remote type prediction backend, which has been
implemented in E10SUtils.sys.mjs. This completes the transition which was
started when process selection decisions started being made in C++ for Fission
by removing the core logic completely from E10SUtils.sys.mjs.
Calls in JS are still done through a wrapped in E10SUtils.sys.mjs, because they
benefit from fuzzy behaviour which has been implemented in that wrapper.
Implementing this kind of argument punning directly in C++ would have been more
verbose, and likely trickier to maintain.
| Assignee | ||
Comment 3•7 months ago
|
||
This function is somewhat redundant nowadays, and is only used by tests, so
moving the logic out of E10SUtils and into the tests may make more sense.
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Comment 5•4 months ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/7edc95201888
https://hg.mozilla.org/mozilla-central/rev/b3818f5deac2
https://hg.mozilla.org/mozilla-central/rev/55c22e5d6c6e
Comment 6•4 months ago
|
||
Comment 7•4 months ago
|
||
Comment on attachment 9584100 [details]
WIP: Port Bug 2011326 - Deduplicate process selection logic between E10SUtils.sys.mjs and ProcessIsolation.cpp. r=#thunderbird-reviewers
Revision D299090 was moved to bug 2037815. Setting attachment 9584100 [details] to obsolete.
Backed out for causing xpc failures at test_sitepolicies.js
Backout link
Push with failures
Failure log(s)
Comment 10•4 months ago
|
||
Backout merged to central link
Updated•4 months ago
|
| Assignee | ||
Comment 11•4 months ago
|
||
We never actually directly load moz-nullprincipal URIs, so this new
approach is more representative of the actual way we end up exercising
this code.
This fixes an inaccuracy in the test where the test was asserting that
we do isolate null principal URIs in such a way that we would disable
the JIT, but that is not the case - before the changes in bug 1729352 we
had no mechanism for making a generic "web" content process have
disableJit specified.
I am updating bug 1729352 to also remove this special case which was
added to allow the test to pass.
| Assignee | ||
Updated•4 months ago
|
Comment 12•4 months ago
•
|
||
Backed out for causing bc failures @browser_aboutURLs.js.
- Backout link
- Push with failures
- Failure Log
- Failure log @ContentParent.cpp
| Assignee | ||
Comment 13•4 months ago
|
||
Huh I have no idea how I missed this particular failure in my try pushes. Should be fixed now, but I'm doing another try push before I land again. https://treeherder.mozilla.org/jobs?repo=try&landoInstance=lando-prod-2025&landoCommitID=48932
Comment 14•4 months ago
|
||
Comment 15•4 months ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/e5e4ac6640d2
https://hg.mozilla.org/mozilla-central/rev/0a7ec537da9c
https://hg.mozilla.org/mozilla-central/rev/e4f9a6650fdd
https://hg.mozilla.org/mozilla-central/rev/3c9cfbb02363
Comment 16•3 months ago
|
||
Updated•3 months ago
|
Description
•