Open
Bug 894561
Opened 11 years ago
Updated 2 years ago
[Session Restore] Async APIs for session restore
Categories
(Firefox :: Session Restore, task)
Firefox
Session Restore
Tracking
()
NEW
People
(Reporter: Yoric, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [e10s][fxperf:p5])
Bug 838577 introduces async APIs for session restore. For the moment, these APIs can be used only by tests.
With e10s, we need to offer only async APIs.
We need to:
- either publish these async APIs or some better-designed APIs;
- convert clients to these new APIs.
Updated•11 years ago
|
Blocks: sessionRestoreJank
Updated•11 years ago
|
Whiteboard: [e10s][Async] → [e10s]
Updated•11 years ago
|
Flags: firefox-backlog?
Comment 1•11 years ago
|
||
The current approach is to support the old API and yet having an asynchronous sessionstore that is e10s compatible. Some of the existing methods are already async in that you will have to wait for an event or a notification to know when we're done. While this is certainly not ideal I don't think changing this and breaking tons of add-ons is worth investing time currently or in the near future.
There are lots of other bigger sessionstore rewrites that would actually affect users and we should concentrate on those :)
Flags: firefox-backlog? → firefox-backlog-
Reporter | ||
Comment 2•11 years ago
|
||
I believe it would be interesting to expose an async "wait()" API that only resolves once all ongoing messages have been treated. For the rest, we can keep the current API for the time being.
Comment 3•11 years ago
|
||
(In reply to David Rajchenbach Teller [:Yoric] (please use "needinfo?" - I'll be away on April 9th-16th) from comment #2)
> I believe it would be interesting to expose an async "wait()" API that only
> resolves once all ongoing messages have been treated. For the rest, we can
> keep the current API for the time being.
Which messages exactly are you referring to?
Reporter | ||
Comment 4•11 years ago
|
||
For the moment, I mean doing something equivalent to `SyncHandlers.get(browser).flush()` (for all browsers).
Comment 5•11 years ago
|
||
Oh, yeah. We want to get rid of that in the future but I'm not sure that's an API we want to expose. We also have bugs open for all those places that call .flush().
Reporter | ||
Comment 6•11 years ago
|
||
I believe that the following is a useful pattern:
1. Programmatically cause some change in a tab.
2. ?
3. Get some part of the state of the browser.
Since 3. is synchronous, the best we can do for the moment is to make it blocking. If we could have a step 2. that returns a promise once 3. is available without blocking, this would be nice.
Not a priority, though.
Updated•7 years ago
|
Whiteboard: [e10s] → [e10s][fxperf]
Comment 7•7 years ago
|
||
If I'm understanding this bug correctly, there's no direct performance consequences to keeping things as they are. It can just be cumbersome to use the APIs. If I'm misunderstanding this and thus incorrectly triaging the bug for fxperf, please let me know.
Whiteboard: [e10s][fxperf] → [e10s][fxperf:p5]
Updated•2 years ago
|
Severity: normal → S3
Comment 8•2 years ago
|
||
The severity field for this bug is relatively low, S3. However, the bug has 13 votes.
:dao, could you consider increasing the bug severity?
For more information, please visit auto_nag documentation.
Flags: needinfo?(dao+bmo)
Updated•2 years ago
|
Severity: S3 → --
Type: defect → task
Flags: needinfo?(dao+bmo)
You need to log in
before you can comment on or make changes to this bug.
Description
•