Open
Bug 1262188
Opened 9 years ago
Updated 2 years ago
Tabs can get stuck closing when tabs in two windows are using beforeunload handlers/dialogs
Categories
(Firefox :: Tabbed Browser, defect)
Tracking
()
NEW
Tracking | Status | |
---|---|---|
firefox47 | --- | wontfix |
firefox48 | --- | wontfix |
firefox49 | --- | wontfix |
firefox50 | --- | wontfix |
firefox51 | --- | fix-optional |
People
(Reporter: Gijs, Unassigned)
References
(Depends on 1 open bug, )
Details
(Keywords: regression)
+++ This bug was initially created as a clone of Bug #1234937 +++
STR:
1. open Firefox. Let's say the initial window is (A)
2. In a new tab in that window, load:
data:text/html,<body onbeforeunload="return 1">
3. click in the content's blank body
4. Open a second window (let's say B)
5. load the same URI from step 2 in this window's initial tab, too.
6. in window A, click the 'close' button on the tab that has this URI in it
7. don't respond to the dialog, instead go to window B and click the 'close' button there, too.
8. don't respond to that dialog, go back to window A and respond to the dialog that's open there.
ER:
the tab in window A closes
AR:
the tab does not close.
(In reply to Olli Pettay [:smaug] from bug 1234937 comment #17)
> > and that you want to make sure the tab-modal dialogs
> > run in the content process so we don't have to spin an event loop but just
> > "hang" the content process until the user responds to the dialog in that
> > content process (which, fwiw, sounds like a scary and regression-prone thing
> > to do).
> No. Parent process should show the modal dialog and spin event loop, but
> child process would initiate that dialog
> using sync call, so nothing would happen there.
That would leave the child process unresponsive, also to other messages from the parent process. Not only for that tab, but for all the tabs in that process while there was a tab-modal dialog in only one of the tabs for that process. That doesn't sound very good. Do I misunderstand your suggestion?
Flags: needinfo?(bugs)
Reporter | ||
Updated•9 years ago
|
Summary: It's possible to close a tab with onbeforeunload without any prompt if confirmation dialog is opened in another onbeforeunload tab → Tabs can get stuck closing when tabs in two windows are using beforeunload handlers/dialogs
Comment 1•8 years ago
|
||
So this is a regression from what?
Comment 2•8 years ago
|
||
And you aren't misunderstanding my suggesting. That is what Chrome does (but it has multiple child processes).
khuey's plan to have effectively event loop per connected browsing contexts would help with that too.
But still, this is a regression from what?
Flags: needinfo?(bugs)
Reporter | ||
Comment 3•8 years ago
|
||
(In reply to Olli Pettay [:smaug] (high review load, please consider other reviewers) from comment #2)
> And you aren't misunderstanding my suggesting. That is what Chrome does (but
> it has multiple child processes).
> khuey's plan to have effectively event loop per connected browsing contexts
> would help with that too.
>
> But still, this is a regression from what?
Moving the beforeunload dialog to an in-content dialog that spins the event loop, rather than a window/app-modal one.
Blocks: 59314
Reporter | ||
Comment 5•8 years ago
|
||
(In reply to arni2033 from comment #4)
> Comment 3 describes bug 59314 (but I haven't check STR and regression range
> at all)
It doesn't, it describes bug 616853.
Updated•8 years ago
|
status-firefox47:
--- → wontfix
status-firefox49:
--- → affected
status-firefox50:
--- → affected
Version: Trunk → 31 Branch
Updated•8 years ago
|
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•