Closed Bug 123908 Opened 23 years ago Closed 10 years ago

tab-specific alerts are window-modal (in Mac OS X) and should be tab-modal

Categories

(Core :: Widget: Cocoa, enhancement)

PowerPC
macOS
enhancement
Not set
normal

Tracking

()

VERIFIED INCOMPLETE

People

(Reporter: m_mozilla, Unassigned)

References

(Blocks 2 open bugs)

Details

(Whiteboard: p-safari)

Mac OS X has window-modal dialogs called "sheets" for alerts that need not drag
the whole application to a halt while waiting for user response. Build
2002020408 uses those sheets. Horray! :)

Unfortunately, the sheets don't work so well when you use the tabbed browser.
Now, you've got a window-modal dialog blocking umpteen tabs while waiting for a
user response.


Suggested fix: background tabs cannot produce alerts.

Instead, the tab is rendered differently until the user switches to that tab...
maybe it gets a border drawn in red, or a little blinky light in the corner.

Once the tab is brought to the foreground, *then* it can block the whole window
with its sheet. Before then, it can't.


This also resolves potential confusion about "which tab had that alert". For
example, if a server hosting an ad image is down, the alert might come up
several seconds after you switched to other tabs. You might not be able to tell
from the URL that it was an ad image, and you might legitimately wonder which
tab was now missing content.


This would presumably require tabs to "hold" their alerts somehow, and to check
to see if they're holding anything when they get forgrounded, and then to
"release" the alert. I don't have any clue how possible that is to implement...
I'm just a user :)

-matt
Summary: tab-specific alerts are window-modal and should be tab-modal → tab-specific alerts are window-modal (in Mac OS X) and should be tab-modal
Blocks: 123913
-> future
Target Milestone: --- → Future
Depends on: 59314
I have a somewhat related RFE, please tell me if I should add a separate bug or
maybe we can modify this bug to make it more general.  

In any OS, if the web page presents you with a modal box you can't switch tabs.

This situation is a problem for me quite often:
- I have a tab with a website that I want to log on to
- I have another tab that has my username/password for that website
- I try to login to the website and a pop-up box comes up asking me for my
username/password
- Because of the pop-up I can't get to the tab that has the info
QA Contact: sairuh → pmac
Severity: normal → enhancement
Safari (at least version 1.2.3) has behaviour like described in comment #0; it
shows a yellow ! icon on the tab with the alert until you switch to it.  I would
like to see something like this on all platforms, not just Mac, if it's possible
to do so.  I also think it should go for all page-modal dialogs (such as
security dialogs).
Blocks: SA12712
The behaviour in Camino was changed a little while back so if a tab gets a
cookie accept/deny sheet, it brings that tab forward, and it's very annoying! (I
don't want Camino changing tabs on me for ANY reason!)  If this bug was fixed,
it would fix that problem as well. :-)
Depends on: 101406
This is more severe than simply an "enhancement." The behaviour right now, at least in Camino, completely stalls the loading of ALL background tabs until the sheet (or sheets, if more than one tab pops up a sheet) is dismissed.

When this was originally filed, it was a lot worse, because we had alert dialogs/sheets instead of error pages, but it's still pretty bad for people who have "Ask for each cookie" set in prefs.

cl
Product: Core → SeaMonkey
Assignee: jag → nobody
QA Contact: pmac → tabbed-browser
Target Milestone: Future → ---
This is really a Core bug (because of the massive architecture work required; see bug 123913 comment 20 and bug 123913 comment 47), and needs to live in a Core component, though I'm not sure which one.  

--> Widget:Cocoa for further triage; Josh, if you have a better idea of where this needs to live, please move it on.
Assignee: nobody → joshmoz
Component: Tabbed Browser → Widget: Cocoa
Product: SeaMonkey → Core
QA Contact: tabbed-browser → cocoa
Whiteboard: p-safari
Assignee: joshmoz → nobody
I've spent a while collecting similar bugs into bug 616843. Proposing this to be closed as duplicate.
This is really a core bug, see comment #6
Bug 616843 was Core too when I created it, but :bz changed it to Firefox, and who am I to argue with that :) So I am guessing that despite comment #6, "Firefox" is the correct Product for the task of eliminating window-modal prompts.
I don't know if there's overlap with Bug 426686, which I originally reported in 2008 and still is relatively untouched, though that's for SeaMonkey on Windows (but the relevant functionality might be the same).

Anyway, I found a webpage that throws a crapload of cookie dialogs if anyone's looking for an example. Obviously DO NOT CLICK on this unless you've got nothing important open (or you're willing to spend 5 minutes dismissing alerts!): http://knowyourmeme.com/memes/they-took-our-jobs

Another consequence of this issue is that I cannot stop a page from loading with an alert dialog open, because the entire window is unresponsive while the dialog is up, rather than just the tab. On some pages I can stop a page from loading any further cookies after I dismiss them all, but this one sets them all up upfront.
Wonder if the above is related to bug 922636 (unresponsive scripts freeze whole browser).
Blocks: 616843
Flags: firefox-backlog?
Flags: firefox-backlog? → firefox-backlog+
I don't think keeping this bug open makes sense, between bug 59314 being fixed and bug 616843 tracking specific dialogs (which this bug doesn't). Gavin, can you clarify? Maybe I'm missing something here.
Flags: needinfo?(gavin.sharp)
I concur!
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(gavin.sharp)
Flags: firefox-backlog-
Flags: firefox-backlog+
Resolution: --- → INCOMPLETE
This bug still occurs on Firefox 34.0.5 Mac.

Actually, the situation is worse than described.

Many dialogs are not even window-modal but browser-modal. Even when the dialog comes in as a window sheet. For example, the "Unresponsive script" dialog comes as a window sheet, but blocks the whole Firefox.
(In reply to Nicolas Barbulesco from comment #14)
> This bug still occurs on Firefox 34.0.5 Mac.

Yes, and it's tracked in bug 616843.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.