Open Bug 663515 Opened 13 years ago Updated 10 months ago

Content-modal alert() dialog gets aborted with exception "prompt aborted by user", when I drag its tab between windows

Categories

(Toolkit :: Content Prompts, defect)

x86_64
Linux
defect

Tracking

()

People

(Reporter: dholbert, Unassigned)

References

Details

Attachments

(1 file)

Attached file testcase
STEPS TO REPRO:
 1. Load testcase in a window with at least 2 open tabs.
 2. Click page (to trigger alert)
 3. Drag tab off of window (or between windows)

EXPECTED RESULTS: The alert should remain until user actually dismisses it.

ACTUAL RESULTS: The alert disappears, and this exception is thrown (& caught by my testcase & appended to innerHTML):
{
[Exception... "prompt aborted by user" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: resource:///components/nsPrompter.js :: openTabPrompt :: line 462" data: no]
}

That points to this line:
http://mxr.mozilla.org/mozilla-central/source/toolkit/components/prompts/src/nsPrompter.js?rev=1d48ae2a81a8#462
Hmm, interesting! I don't think we ever considered this when implementing the tab-modal prompts. The basic issue is that the prompt is part of chrome, not content, and so the magic stuff we do with detaching/reattaching docshells for detaching tabs doesn't even know about the prompt. This might be quite tricky to fix, as I suspect the call stack entrains certain things specific to the tab prompt originally shown.

We might want to consider a workaround of just not allowing tab-detach when the tab is showing a prompt.
Product: Firefox → Toolkit
QA Contact: general → general
Hmm, we might also be able to get away with having nsPrompter detect this, and simply show a new prompt (retaining any state from the old one) before returning to content. Could confuse an addon that's fiddling with prompts, but I'd suspect that's quite rare (and would be broken by tab-detach in general, anyway).
What do you want to do here?

(In reply to Justin Dolske [:Dolske] from comment #1)
> We might want to consider a workaround of just not allowing tab-detach when
> the tab is showing a prompt.

If we consider this acceptable, is there a boolean flag that indicates whether a tab is showing a prompt?
Bulk move to Toolkit::Notifications and Alerts

Filter on notifications-and-alerts-component.
Component: General → Notifications and Alerts
See Also: → 1754759
Severity: normal → S3
Component: Notifications and Alerts → Content Prompts
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: