Closed
Bug 699850
(asyncHistory)
Opened 13 years ago
Closed 7 years ago
[meta] Refactor all synchronous history APIs to use async Storage APIs
Categories
(Toolkit :: Places, defect, P2)
Toolkit
Places
Tracking
()
Tracking | Status | |
---|---|---|
firefox62 | --- | fixed |
People
(Reporter: mak, Unassigned)
References
(Blocks 2 open bugs)
Details
(Keywords: meta, perf, Whiteboard: [snappy:p1] [tracking])
All of the history APIs used in browsing and Sync are already async, we should remove and replace all the remainig synchronous APIs. This may require some deep test rewriting, but we can do fake-sync wrappers for that.
Updated•13 years ago
|
Alias: asyncHistory
Updated•13 years ago
|
Assignee: nobody → dteller
Comment 1•13 years ago
|
||
I'll take it, but I'll need some help to get started.
Reporter | ||
Comment 2•13 years ago
|
||
I think you choose the hardest one, this will have to be splitted in a lot of smaller bugs, but don't want to scare you :)
History changes (in form of visits addition or removal) in the browser UI are already using async APIs, but we have to convert all of nsIBrowserHistory and nsINavHistoryService (there also other interfaces, but those are mostly dependent on these and should be done later).
A first dependent bug may be to deprecate addVisit and addPageWithDetails, that are used in a LOT of tests, to avoid rewriting all the tests we can likely write an addVisit wrapper that uses updatePlaces async API and spin the events loop till we get the callback. We should push people toward updatePlaces API.
Related to this, we should rewrite the importExport service (bug 482911), hsivonen wanted to do that but he's likely really busy.
If we kill any possibility to add visits synchronously, we can likely start converting nsIBrowserHistory the other methods, like removals.
If you prefer starting from a smaller project, Favicons service has to be finished (is partially async) and has less connections to other services.
Bug 672681 is another interesting entry point.
Reporter | ||
Comment 3•13 years ago
|
||
hm I said the importExport service, but I meant the migrators, whatever uses addPageWithDetails.
Comment 4•13 years ago
|
||
De-assigning myself in case someone wants to take it. Otherwise, I will eventually return to it.
Assignee: dteller → nobody
Reporter | ||
Updated•13 years ago
|
Blocks: placesSessionID
Reporter | ||
Updated•13 years ago
|
No longer blocks: placesSessionID
Reporter | ||
Comment 5•13 years ago
|
||
This is basically a tracking bug, so making it properly that.
Keywords: meta
Updated•13 years ago
|
Whiteboard: [snappy]
Updated•13 years ago
|
Whiteboard: [snappy] → [snappy:p1]
Updated•12 years ago
|
Reporter | ||
Updated•12 years ago
|
Depends on: placesSessionID
Reporter | ||
Updated•11 years ago
|
Blocks: fxdesktopbacklog
Whiteboard: [snappy:p1] → [snappy:p1][triage]
Updated•11 years ago
|
Whiteboard: [snappy:p1][triage] → [snappy:p1]
Updated•11 years ago
|
Whiteboard: [snappy:p1] → [snappy:p1] [tracking]
Updated•11 years ago
|
No longer blocks: fxdesktopbacklog
Reporter | ||
Updated•10 years ago
|
No longer blocks: StorageJank
Reporter | ||
Updated•9 years ago
|
Priority: -- → P1
Updated•8 years ago
|
Whiteboard: [snappy:p1] [tracking] → [snappy:p1] [tracking][qf:meta]
Reporter | ||
Updated•7 years ago
|
Priority: P1 → P5
Summary: Refactor all synchronous history APIs to use async Storage APIs → [meta] Refactor all synchronous history APIs to use async Storage APIs
Reporter | ||
Updated•7 years ago
|
Reporter | ||
Updated•7 years ago
|
Priority: P5 → P2
Reporter | ||
Comment 6•7 years ago
|
||
And... 1 is gone.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Comment 7•7 years ago
|
||
\o/
mak, is this something you'd like to note for 62 release?
status-firefox62:
--- → fixed
Flags: needinfo?(mak77)
Maybe on MDN and not in the release notes. Let me know what you think.
Reporter | ||
Comment 10•6 years ago
|
||
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #8)
> mak, is this something you'd like to note for 62 release?
It's mostly an internal detail, the most common operations were already converted in the past, this changed a few remaining APIs that are less often used (but still, when you hit one of these the jank is unprodictable).
I don't think it's facing users so easily to deserve a relnote.
Flags: needinfo?(mak77)
Updated•3 years ago
|
Performance Impact: --- → ?
Whiteboard: [snappy:p1] [tracking][qf:meta] → [snappy:p1] [tracking]
You need to log in
before you can comment on or make changes to this bug.
Description
•