Closed Bug 1630908 Opened 4 years ago Closed 3 years ago

[Fission] Consider OriginAttributes when selecting processes

Categories

(Core :: DOM: Content Processes, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
86 Branch
Fission Milestone M7
Tracking Status
firefox86 --- fixed

People

(Reporter: pbone, Assigned: annyG)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

This is a feature idea/request. I'd like to know what others think.

Current behaviour:

I opened google.com/calendar in two tabs, one is in my "Personal" container and the other is in no container (the default container?). When I hover over their tabs I see the same PID on each of them. I have fission enabled.

Expected behaviour:

I should see different PIDs in their tabs. This may help with real isolation but it may also help users trust both fission and container tabs.

Summary: Fission feature: Container tabs in different contains shouldn't share processes → Fission feature: Container tabs in different containers shouldn't share processes

Nika agrees, though this bug doesn't need to block Fission MVP.

Fission Milestone: --- → Future
Priority: -- → P3

Correction: kmag says we need to fix this bug for private browsing tabs. We need to fix this for origins with different origin attributes in general, but private browsing is the most pressing reason.

Tracking for Fission Nightly milestone (M6)

Fission Milestone: Future → M6b
Priority: P3 → P2
Summary: Fission feature: Container tabs in different containers shouldn't share processes → Container tabs in different containers shouldn't share Fission processes
Fission Milestone: M6b → M6c

Info from Nika for fixing this:

Summary: Container tabs in different containers shouldn't share Fission processes → [Fission] Consider OriginAttributes when selecting processes

M7

Fission Milestone: M6c → M7
Severity: -- → N/A
Assignee: nobody → agakhokidze
Status: REOPENED → ASSIGNED

Nika, I am thinking of modifying the remote type to add OA at the end, so that our current remote type + selected values from OA are used as the key in our <remoteType: content process> map. Does this sound like a correct direction to you? I haven't figured out the exact details, but maybe new remote type could look something like this: webIsolated=https://example.com,pb=1, webIsolated=https://example.com,userContext=1 - I'll think more about this :)

I am currently auditing various callsites for getRemoteTypeForURI and getRemoteTypeForURIObject and trying to find a way to retrieve OA in each case. After that I might begin writing some test cases so I can better understand what kind of behaviour is expected and what kind of edge cases I have to address.

Flags: needinfo?(nika)

We shouldn't need to add a new way to attach the OA to the end of the origins, we already have a way to do it in how we define origins. Once you've changed callsites to getRemoteTypeForURI and getRemoteTypeForURIObject to accept originAttributes, we can replace the OAs here (https://searchfox.org/mozilla-central/rev/ff82c973f8ccb0475ec32439e9ec07014b3a681f/toolkit/modules/E10SUtils.jsm#227-231), with the ones passed in and it should work.

That will generate remote types like webIsolated=https://example.com^privateBrowsingId=1 or webIsolated=https://example.com^userContextId=5 :-)

Flags: needinfo?(nika)
Blocks: 1687568
Pushed by agakhokidze@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/023a9d837f49
Part 1: Pass OriginAttributes to be included with remote type, r=nika,marionette-reviewers
https://hg.mozilla.org/integration/autoland/rev/5b747d5eaf90
Part 2: Test that we include OriginAttributes in remoteType with Fission enabled, r=nika
Status: ASSIGNED → RESOLVED
Closed: 4 years ago3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 86 Branch

Heads up, possible breakage with this!
Latest nightly build from heftig's archlinux repo (https://pkgbuild.com/~heftig/repo/x86_64/) (firefox-nightly-86.0a1+20210120+h0478698744b1-1) dated on 20-Jan-2021 08:13 seems to break restoring websites from restore session when fission is enabled. I was working fine day before and according to https://mrotherguy.github.io/fx-nightly-changelog/changes/2021/01/2021-01-20.html there weren't many fission changes made to firefox.
The way breakage manifests itself is permanent loading symbol and no content being displayed. If the tab or pinned tab is closed and then undo close tab is selected, the tab does open and display itself.

(In reply to Mel from comment #13)

Heads up, possible breakage with this!
Latest nightly build from heftig's archlinux repo (https://pkgbuild.com/~heftig/repo/x86_64/) (firefox-nightly-86.0a1+20210120+h0478698744b1-1) dated on 20-Jan-2021 08:13 seems to break restoring websites from restore session when fission is enabled. I was working fine day before and according to https://mrotherguy.github.io/fx-nightly-changelog/changes/2021/01/2021-01-20.html there weren't many fission changes made to firefox.
The way breakage manifests itself is permanent loading symbol and no content being displayed. If the tab or pinned tab is closed and then undo close tab is selected, the tab does open and display itself.

Thank you, Mel. This sounds like bug 1687616, which was found to be a regression from bug 1673683, which was backed out today.
Mel, would you be able to test tomorrow's nightly and see if this is still reproducible?

Flags: needinfo?(pmargeti34)

Mel, would you be able to test tomorrow's nightly and see if this is still reproducible?
Sure thing.

Flags: needinfo?(pmargeti34)

(In reply to Neha Kochar [:neha] from comment #14)

(In reply to Mel from comment #13)

Heads up, possible breakage with this!
Latest nightly build from heftig's archlinux repo (https://pkgbuild.com/~heftig/repo/x86_64/) (firefox-nightly-86.0a1+20210120+h0478698744b1-1) dated on 20-Jan-2021 08:13 seems to break restoring websites from restore session when fission is enabled. I was working fine day before and according to https://mrotherguy.github.io/fx-nightly-changelog/changes/2021/01/2021-01-20.html there weren't many fission changes made to firefox.
The way breakage manifests itself is permanent loading symbol and no content being displayed. If the tab or pinned tab is closed and then undo close tab is selected, the tab does open and display itself.

Thank you, Mel. This sounds like bug 1687616, which was found to be a regression from bug 1673683, which was backed out today.
Mel, would you be able to test tomorrow's nightly and see if this is still reproducible?

Confirming that it works fine with the latest build and fission enabled.

Blocks: 1695037
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: