`warnOnTabsClosing` should be `async`
Categories
(Firefox :: Tabbed Browser, defect)
Tracking
()
People
(Reporter: rkraesig, Unassigned, NeedInfo)
References
(Depends on 1 open bug)
Details
Currently, warnOnTabsClosing(), when it needs to warn, uses the synchronous interface provided by nsIPromptService. Unfortunately, this enters a nested modal loop (using SpinEventLoopUntil), which can lead to hangs. (See bug 1842170 for a concrete example.)
Fortunately, as of bug 1271842, nsIPromptService now also has an async interface which avoids creating a nested modal loop. Reworking warnOnTabsClosing() (and its callers and siblings) to be async would prevent this class of hangs.
| Reporter | ||
Updated•3 years ago
|
| Reporter | ||
Comment 1•3 years ago
•
|
||
Addendum after a bit of digging while investigating possible short-term workarounds: this is quite a bit of work that doesn't even mostly fall into Firefox :: Tabbed Browser, but I'm not sure what the right place is.
(The main architectural point seems to be the use of a DOM event handler [1a] [1b] to decide whether to close the window [2] [3].)
Comment 2•2 years ago
|
||
The severity field is not set for this bug.
:dao, could you have a look please?
For more information, please visit BugBot documentation.
Description
•