[Session Restore] Don't [always] read sessionstore.js [early] during startup

REOPENED
Unassigned

Status

()

defect
REOPENED
6 years ago
5 years ago

People

(Reporter: Yoric, Unassigned)

Tracking

(Blocks 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

In many cases, we don't need to load the full sessionstore.js during startup:
1. in case of crash, if we just want to display about:sessionrestore, the list of windows and tab titles (and icons?) is sufficient – we could load the actual sessionstore.js later;
2. in case of not-crash, for users who do not restore the session automatically, we just need to know there is a session that may be restored.

I believe that we could therefore do the following:
- write a smaller file sessionoverview.js that contains only the data necessary for displaying the crash dialog;
- during startup, in case of crash, read sessionoverview.js before displaying the tab, sessionstore.js after;
- during startup, in case of not-crash, for users who do not restore the session automatically, read sessionstore.js after having displayed the welcome page;
- for users who restore automatically, still read sessionstore.js.
(In reply to David Rajchenbach Teller [:Yoric] (please use "needinfo?") from comment #0)
> In many cases, we don't need to load the full sessionstore.js during startup:
> 1. in case of crash, if we just want to display about:sessionrestore, the
> list of windows and tab titles (and icons?) is sufficient – we could load
> the actual sessionstore.js later;

This sounds like a case that we really shouldn't optimize for.

> 2. in case of not-crash, for users who do not restore the session
> automatically, we just need to know there is a session that may be restored.

We are planning to enable session restore by default (bug 735914) that makes this an edge-case as well. I don't see that these two cases justify complicating existing and/or maintaining extra code.
Ah, I hadn't seen that part of bug 735914. Well, in that case...
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Actually, I believe that we can still do this to optimize auto-restore. We'll want Telemetry first, though.
Status: RESOLVED → REOPENED
Depends on: 962948
Resolution: WONTFIX → ---
So, let's concentrate on clean shutdown and auto-restore.

1. During shutdown, write a smaller file (let's call it sessionoverview.js) that contains only the data necessary to create the tabs;
2. During startup, in case of not-crash auto-restore, read sessionoverview.js to create the tabs and populate the currently-focused tab;
3. Once sessionoverview.js is loaded, load the entire sessionstore.js and use the data to populate the other tabs lazily.
You need to log in before you can comment on or make changes to this bug.