Open Bug 1350567 Opened 8 years ago Updated 2 years ago

On navigation to another SHEntry, we ought to recollect the previously current SHEntry as well to catch the LayoutHistoryState

Categories

(Firefox :: Session Restore, enhancement)

enhancement

Tracking

()

People

(Reporter: JanH, Unassigned)

References

(Blocks 2 open bugs)

Details

Partial session store data updates on Desktop attempt to only collect any new entries that have been added while skipping anything older. History navigation (GoBack/Forward/GotoIndex) currently doesn't collect anything at all and just updates the current index. DOMTitleChanged currently still triggers a full collect, but with the advent of GroupedSHistory, even a full collect will only collect data within the current process and will not update any older previous data living in another process. This is a problem if we want to reliably save the LayoutHistoryState (i.e. session history scroll positions etc.), because the LayoutHistoryState is only updated when navigating *away* from a session history entry. This means that for any of OnHistoryGoBack/GoForward/GotoIndex (or simply OnIndexChanged), just refreshing the current history index is no longer enough - we need to re-collect the SHEntry of the previously current history index as well. Likewise, for OnHistoryNewEntry, just getting the new entry no longer suffices - the previous SHEntry needs to be collected again as well. Unfortunately, GroupedSHistory poses an obstacle here, because the previous SHEntry might live in a different process, which complicates retrieving its data again.
Blocks: 1350569
Whiteboard: [fxperf]
Not sure why this was tagged fxperf, seems to be mostly a correctness issue.
Whiteboard: [fxperf]
It is a hard blocker for bug 1350569, which in turn definitively is a performance issue (although no idea how large).
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.