Closed Bug 1648158 Opened 4 years ago Closed 2 years ago

Restore Tab History for Fission

Categories

(GeckoView :: Sandboxing, enhancement, P1)

Unspecified
All
enhancement

Tracking

(firefox100 wontfix, firefox101 wontfix, firefox102 wontfix, firefox103 wontfix, firefox104 wontfix, firefox105 fixed)

RESOLVED FIXED
105 Branch
Tracking Status
firefox100 --- wontfix
firefox101 --- wontfix
firefox102 --- wontfix
firefox103 --- wontfix
firefox104 --- wontfix
firefox105 --- fixed

People

(Reporter: agi, Assigned: calu)

References

(Blocks 2 open bugs, Regressed 1 open bug)

Details

(Whiteboard: [fission:android:m2] [geckoview:m103] [geckoview:m104] [geckoview:m105])

Attachments

(1 file)

As part of the Fission work we need to migrate all our framescripts to Actors. This tracks the work needed to move SessionStateAggregator.js to a child actor.

Severity: -- → N/A
Priority: -- → P2
Assignee: nobody → agi

Looks like platform is making this easier for us so let's wait for that.

Assignee: agi → nobody
Depends on: 1572084

This also includes enabling the following tests on Fission:

HistoryDelegateTest#onHistoryStateChangeSavingState
ProgressDelegateTest#saveAndRestoreStateNewSession
ProgressDelegateTest#saveAndRestoreState
ProgressDelegateTest#flushSessionState
ProgressDelegateTest#noHistoryDelegateOnSessionStateChange
NavigationDelegateTest#purgeHistory

New test that relies on SessionStateStorage:

WebExtensionTest#testRestoringExtensionPagePreservesMessages

from Bug 1675644.

Discussed in the Fission-Android meeting, sounds like it might take a while for the desktop code to migrate so maybe we want to have a stop-gap migration first.

Blocks: 1677190

Tracking this bug for Android Fission milestone M2 (pass tests with Fission enabled)

Whiteboard: [fission:android:m2]
Depends on: 1692217
Depends on: 1693682

Email from Andreas Farre [:farre]:

I've been digging around a bit in SessionStateAggregator.js to see
what's needed to move it to the parent process in preparation for
Fission. Have you a plan in mind for how you want to do this?

With the work we've already done it feels like collection should be
fairly easy to port to GeckoView, using code from TabStateCache.jsm[1]
to handle incremental updates from different content children (or
really different WindowGlobalChild) as some kind of intermediary step
before doing SessionState.updateSessionState. Or something similar.

For the restore step I'll have to bring in Kashav for input, since
he's the more knowledgeable. My rough overview seems to indicate that
restore might be harder. This is also more dependant on Session
History in the parent process, I guess.

In the end we want to have a system that is on, even if Fission isn't.

This is a bit cursory, but I thought that it would at least help us get started!

Assignee: nobody → agi
Depends on: 1597499
No longer depends on: 1687495
Blocks: 1692217
No longer depends on: 1692217

Agi, what's the expected timescale for this bug? This blocks bug 1758481 which we would like to complete in the 103 cycle (not before to avoid breaking some things just before ESR), would you be able to do this in that timeframe?

Flags: needinfo?(agi)

Hi Mark, Sorry I didn't realize this was time sensitive, we probably will get this done by 103 but I don't see any reason to delay the other patch in the meanwhile. I approved https://phabricator.services.mozilla.com/D142757

Flags: needinfo?(agi)

Thank you.

No longer blocks: 1692217
Depends on: 1734394
Priority: P2 → P1
Whiteboard: [fission:android:m2] → [fission:android:m2] [geckoview:m103]
Whiteboard: [fission:android:m2] [geckoview:m103] → [fission:android:m2] [geckoview:m103] [geckoview:m104]

Cathy will pick up Agi's WIP after she lands bug 1734394.

Assignee: agi → calu
Summary: Migrate SessionStateAggregator.js to actor → Restore Tab History for Fission

Moving Android Fission bugs to the new GeckoView::Sandboxing component.

Component: General → Sandboxing
Attachment #9282424 - Attachment description: Bug 1648158 - WIP SHIP support on Android. → Bug 1648158 - Store SHIP (Session History in Parent Process) support on Android.

105

Whiteboard: [fission:android:m2] [geckoview:m103] [geckoview:m104] → [fission:android:m2] [geckoview:m103] [geckoview:m104] [geckoview:m105]
Pushed by calu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8dbbc6a6b494 Store SHIP (Session History in Parent Process) support on Android. r=geckoview-reviewers,owlish
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 105 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: