Open Bug 1677190 Opened 4 years ago Updated 1 year ago

Enable Session Restore and Session History In Parent in GeckoView

Categories

(GeckoView :: Sandboxing, enhancement, P1)

Unspecified
All
enhancement

Tracking

(firefox100 wontfix, firefox101 wontfix, firefox102 wontfix, firefox103 wontfix)

Tracking Status
firefox100 --- wontfix
firefox101 --- wontfix
firefox102 --- wontfix
firefox103 --- wontfix

People

(Reporter: agi, Assigned: kaya)

References

(Depends on 1 open bug, Blocks 3 open bugs)

Details

(Whiteboard: [fission:android:m2] [geckoview:2022q3][geckoview:m117] [fxdroid] [foundation] )

Attachments

(1 file)

The DOM team mentioned we should try to enable SHIP by default.

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

Whiteboard: [fission:android:m2]
Severity: -- → S3
Priority: -- → P2
Whiteboard: [fission:android:m2] → [fission:android:m2][geckoview:m86]
Whiteboard: [fission:android:m2][geckoview:m86] → [fission:android:m2][geckoview:m86][geckoview:m91?]
Whiteboard: [fission:android:m2][geckoview:m86][geckoview:m91?] → [fission:android:m2][geckoview:m86][geckoview:m93?]
Whiteboard: [fission:android:m2][geckoview:m86][geckoview:m93?] → [fission:android:m2][geckoview:m86][geckoview:m94?]
Whiteboard: [fission:android:m2][geckoview:m86][geckoview:m94?] → [fission:android:m2][geckoview:m86][geckoview:m93]
Rank: 5
Whiteboard: [fission:android:m2][geckoview:m86][geckoview:m93] → [fission:android:m2][geckoview:m86][geckoview:m94]
Whiteboard: [fission:android:m2][geckoview:m86][geckoview:m94] → [fission:android:m2][geckoview:m86][geckoview:m95]
Whiteboard: [fission:android:m2][geckoview:m86][geckoview:m95] → [fission:android:m2][geckoview:m86][geckoview:m96]
Whiteboard: [fission:android:m2][geckoview:m86][geckoview:m96] → [fission:android:m2][geckoview:m86][geckoview:m96?]

Linking this to the bug that peterv is working on (feel free to change the relationship between two bugs).

Depends on: 1736121

Assigning to Agi because he said he's going to work on this bug next.

Assignee: nobody → agi
Whiteboard: [fission:android:m2][geckoview:m86][geckoview:m96?] → [fission:android:m2] [geckoview:m86] [geckoview:m96?] [geckoview:m103?]

Consider for 104. We won't be ready for 103.

Agi will fix up this bug's dependent bugs.

Whiteboard: [fission:android:m2] [geckoview:m86] [geckoview:m96?] [geckoview:m103?] → [fission:android:m2] [geckoview:m86] [geckoview:m96?] [geckoview:m104?]
Summary: Enable Session History In Parent in GeckoView → Enable Session History In Parent and Session Restore in GeckoView
Summary: Enable Session History In Parent and Session Restore in GeckoView → Enable Session Restore and Session History In Parent in GeckoView

According to :afarre, this blocks bug 1736121 "SHIP everywhere". It's not possible to enable "SHIP everywhere" before this bug is done, because it would mean turning off session (re)store for android.

Blocks: 1736121
No longer depends on: 1736121
Whiteboard: [fission:android:m2] [geckoview:m86] [geckoview:m96?] [geckoview:m104?] → [fission:android:m2] [geckoview:m86] [geckoview:m96?] [geckoview:m104?] [geckoview:2022h2?]
Whiteboard: [fission:android:m2] [geckoview:m86] [geckoview:m96?] [geckoview:m104?] [geckoview:2022h2?] → [fission:android:m2] [geckoview:m86] [geckoview:m96?] [geckoview:m104?] [geckoview:2022q3]
Assignee: agi → calu
Priority: P2 → P1
Whiteboard: [fission:android:m2] [geckoview:m86] [geckoview:m96?] [geckoview:m104?] [geckoview:2022q3] → [fission:android:m2] [geckoview:m104] [geckoview:2022q3]
Whiteboard: [fission:android:m2] [geckoview:m104] [geckoview:2022q3] → [fission:android:m2] [geckoview:2022q3]
Priority: P1 → P2

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

Component: General → Sandboxing
Depends on: 1776284

This adds the app api to allow restoreState() calls to restore tab content that has been saved in a GeckoSession.SessionState. This generally includes form data (data that has been entered into a text or checkbox form) and scroll (what position the page is scrolled to and includes the level of the zoom the page is at).

For now, this was manually tested by using geckoview_example. A restoreState() call was added to onSessionStateChange(), which gets called anytime the history or tab content gets updated. That will provide the current state the tab is in. I verified that by calling restoreState(), it reloads the tab exactly to the tab content it was set at, regardless of what new url was entered. I also manually verified by running about:debugging and placing breakpoints to verify the returned data from buildRestoreData() and restoreState matches the tab content.

The next steps will be getting ProgressDelegate junit tests to restore this data as well.

Rank: 5 → 222

Enhancements should have severity N/A.

Severity: S3 → N/A
Blocks: 1837551
Blocks: gv-fission
Assignee: calu → kkaya
Priority: P2 → P1
Whiteboard: [fission:android:m2] [geckoview:2022q3] → [fission:android:m2] [geckoview:2022q3][geckoview:m117] [fxdroid] [foundation]
Blocks: 1849060
No longer blocks: 1849060
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: