Closed
Bug 829904
Opened 12 years ago
Closed 11 years ago
Collect Session Restore data in the background
Categories
(Firefox :: Session Restore, defect)
Firefox
Session Restore
Tracking
()
RESOLVED
DUPLICATE
of bug 838577
People
(Reporter: Yoric, Unassigned)
References
Details
(Whiteboard: [Snappy][sync:tabs])
At the moment, collection Session restore data is done in a blocking manner:
getBrowserState, getWindowState, getTabState freeze the main thread while they collect their data, causing jank.
We could avoid that jank by reorganizing data collection as follows:
- the Session restore service maintains a cache of the state, which may not be full up to date;
- getBrowserState, getWindowState, getTabState return (subsets of) the latest cached state;
- a new method |snapshot| triggers an asynchronous update to the cache (or a subset thereof), returning a promise and/or accepting a custom observer;
- saveStateDelayed is altered to proceed only once the snapshot is complete.
Reporter | ||
Comment 1•12 years ago
|
||
gps: I believe that you are the sole user of getBrowserState on m-c, will this break anything in Sync?
Flags: needinfo?(gps)
Comment 2•12 years ago
|
||
Deferring to rnewman since he has more of Sync paged into his brain than I do right now.
Flags: needinfo?(gps) → needinfo?(rnewman)
Comment 3•12 years ago
|
||
The only two things we do with the session instance is:
* getBrowserState to find out open tabs
* setTabValue in an observer notification to set a weaveLastUsed timestamp.
The latter doesn't apply here, I suppose.
I would be very happy to consume an alternative API which provides the set of windows and open tabs. Having a *slightly* stale set through the current API would be fine.
Flags: needinfo?(rnewman)
Reporter | ||
Updated•11 years ago
|
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•