Open Bug 788184 Opened 8 years ago Updated 2 years ago

Opening multiple modal dialogs blocks and causes console errors


(Core :: DOM: Core & HTML, defect, P5)

10 Branch





(Reporter: mozilla, Unassigned)


User Agent: Mozilla/5.0 (X11; Linux i686; rv:10.0.1) Gecko/20100101 Firefox/10.0.1
Build ID: 20120208060813

Steps to reproduce:

1. Create a function in a javascript code module to open modal dialogs
2. Open two browser window.
3. Use the module function to open a modal dialog from each window.
4. Close the modal dialog in the first window.

Actual results:

Some operations in the first window are no longer responsive.  I believe these are functions that make calls to the javascript code module which appears to be (partially) hung.

Expected results:

Something that doesn't just lock out parts of the browser.  Try doing this with modal sub-dialogs from the original dialogs and things get really hairy, console errors, corrupted data, etc.

I realise that opening a modal dialog from a singleton is pretty dumb, but the fact that it is possible to keep opening multiple modal dialogs hides the fact that it isn't working properly.
Component: Untriaged → DOM
Product: Firefox → Core
My mistake.  This has nothing to do with javascript code modules and also occurs in plain overlay scripts.

Is this the well known and "acceptable" issue with modal dialogs spinning their event loops?
Summary: Opening modal dialog in JS module causes hangups → Opening multiple modal dialogs blocks and causes console errors
Which modal dialog are you talking about?
Per spec showModalDialog does spin the event loop.
alert() etc shouldn't, but in Gecko they do end up doing that.
I spotted the problem first with my own custom dialogs, but have since produced the blocking with the bookmark properties dialog from my bookmarks toolbar.

Move all DOM bugs that haven't been updated in more than 3 years and has no one currently assigned to P5.

If you have questions, please contact :mdaly.
Priority: -- → P5
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.