FaviconHelper::ObtainCachedIconFile does main thread IO and causes hangs
Categories
(Core :: Widget: Win32, enhancement, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox129 | --- | fixed |
People
(Reporter: johannh, Assigned: mconley, NeedInfo)
References
(Blocks 1 open bug)
Details
(Keywords: perf:responsiveness, Whiteboard: [bhr:ObtainCachedIconFile])
Attachments
(3 files)
Updated•7 years ago
|
Updated•7 years ago
|
Comment 1•5 years ago
•
|
||
This is a specific subset of the main thread I/O done by jumplists (bug 1529276).
Updated•3 years ago
|
| Assignee | ||
Updated•2 years ago
|
Updated•2 years ago
|
| Assignee | ||
Comment 2•2 years ago
|
||
I think what we can do here is that we can introduce a new method, in FaviconHelper - FaviconHelper::ObtainCachedIconFileAsync. We can then transition the new Jump List backend and this usage here (which already ignores the synchronous return value) to that new method.
The new method can then do the existence testing / stat'ing on the IO thread rather than the main thread, and call into a runnable with either the path to the cached favicon or an nsresult reporting what has gone wrong.
And then we can update nsIJumpListBuilder.obtainAndCacheFavicon to return a Promise instead and use our new backend.
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 3•2 years ago
|
||
Updated•1 year ago
|
| Assignee | ||
Comment 4•1 year ago
|
||
Depends on D203761
| Assignee | ||
Comment 5•1 year ago
|
||
Depends on D209152
Updated•1 year ago
|
Updated•1 year ago
|
Comment 7•1 year ago
|
||
Backed out for causing xpcshell failures on test_JumpListBuilder_obtainAndCacheFaviconAsync.js
Comment 9•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/947f25cfac26
https://hg.mozilla.org/mozilla-central/rev/38b6ce46cca2
https://hg.mozilla.org/mozilla-central/rev/e9c1549806bf
https://hg.mozilla.org/mozilla-central/rev/c1a66ab56f9d
Description
•