Closed Bug 384644 Opened 19 years ago Closed 18 years ago

Cookie dialog opens behind menu and blocks menu; menu may obscure dialog causing a mousy hang

Categories

(Camino Graveyard :: General, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Camino1.6

People

(Reporter: blagsnatter, Assigned: mark)

References

Details

(Keywords: fixed1.8.1.12, Whiteboard: [needs-radar])

Attachments

(1 file, 1 obsolete file)

User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en; rv:1.8.1.4) Gecko/20070509 Camino/1.5 Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en; rv:1.8.1.4) Gecko/20070509 Camino/1.5 When the bookmarks menu, or another menu, is open while a page loads, and the cookie dialogue appears for Deny/Allow/This Session Only, the cookie dialogue is behind the menu, and the menu is frozen open. Can result in the cookie dialogue being completely blocked, and the user stuck. Reproducible: Always Steps to Reproduce: 1. Set Camino Preferences to Ask Before Accepting each cookie. 2. Go to any website that wants to set cookies. 3. Open the Bookmarks menu (or any of the menus) quickly as the webpage starts to load, and then leave the menu open. 4. When the cookie dialogue appears, it's behind the menu, and the menu is unresponsive to the mouse. Camino will be waiting for a cookie dialogue button to be clicked, but the dialogue is behind the open menu, and the menu is unresponsive to clicks. The user is blocked out. Actual Results: Could not see cookie dialogue box, and could not close menu. Expected Results: The menu should still be responsive with the cookie dialogue behind it. Or, the menu should close before the cookie dialogue opens.
Odd, I thought this was fixed by one or more of the bugs hanging off of bug 294129.
This is the second bug that should have been/was fixed by that (bug 380792 is the other); could something have regressed those fixes?
I can reproduce this in 1.0.4, so either it regressed sometime between 1.0 and now, or we didn't actually "fix" bug 200397. That is, the sheets still repsond to the keyboard, and, if positioned correctly, the mouse, so that state is not locked, but sheets coming up don't actually close menus. Jeff: are you saying that if a button is visible (not behind the menu) on the cookie sheet, you can't click the visible button with the mouse? (I can't reproduce that.) (Bug 380792 might be slightly different, depending on how we have to close those; see the still-open bug 189298.)
Flags: camino1.6?
Summary: cookie dialogue freezes menu open, blocking dialogue → cookie dialogue open behinds menu and freezes menu open, blocking dialogue
Smokey: if a button is visible, I can click it, yes.
Confirming, then; the real issue is we didn't actually "fix" bug 200397, so sheets coming up don't actually close menus.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Try this. Seriously, try it. This Carbon-play in a Cocoa app is the kind of thing that might work on one OS release but not another. I also didn't test it out with all kinds of sheets. Knock yourself out. Have a good time. There's another call to runModalForWindow: (but not runModalForWindow:relativeToWindow:) in ViewCertificateDialogController. We should decide if we want to roll up menus in that case too. This patch is structured so that any modal window, sheet or otherwise, will cancel menu tracking if it goes through [nsAlertController safeRunModalForWindow:relativeToWindow:] and converts a straggler in KeychainService to use our safe method. We could convert the straggler in ViewCertificateDialogController too, and just pass relativeToWindow:nil. I think it's probably a good idea for consistency, but I didn't test that at all and I have to leave now.
Assignee: nobody → mark
Status: NEW → ASSIGNED
Attachment #292851 - Flags: review?
I've been playing with this and attachment 121777 [details] (bug 200397) and have found that the sucky behavior occurs with modal dialogs in addition to sheets. For example: 1. Load attachment 121777 [details] 2. Before its delayed alert fires (1.5 seconds), quickly hit command-D to open up another sheet and then open some pull-down menu from the menu bar 3. Wait for the delayed alert to fire as a modal dialog instead of a sheet Note similar UI lockup. So we should do this for all modal dialogs, not just sheets opened with [NSApplication runModalForWindow:relativeToWindow:].
I found the call sites for this with |grep -r runModal mozilla/camino|.
Attachment #292851 - Attachment is obsolete: true
Attachment #292883 - Flags: review?
Attachment #292851 - Flags: review?
Comment on attachment 292883 [details] [diff] [review] Cancel all menu tracking before showing any modal dialog or sheet Simon, let me know if you're not doing reviews, and I'll pick another victim.
Attachment #292883 - Flags: review? → review?(sfraser_bugs)
I also want to kill: NSLog([file pathExtension]); in SaveHeaderSniffer.mm.
Attachment #292883 - Flags: review?(sfraser_bugs) → review?(stuart.morgan)
(In reply to comment #11) > I also want to kill: > NSLog([file pathExtension]); > > in SaveHeaderSniffer.mm. Yes please! r=me to land that as a no-bug change.
Comment on attachment 292883 [details] [diff] [review] Cancel all menu tracking before showing any modal dialog or sheet r=me. Have you filed the modal dialog case with Apple? That seems like a case that other apps would have as well (Safari, for example, has exactly the same issue), so presumably the OS should take care of it.
Attachment #292883 - Flags: review?(stuart.morgan) → review+
Checked in on the trunk and MOZILLA_1_8_BRANCH for Camino 1.6b1. The SaveHeaderSniffer NSLog change was also checked in. I'll file a bug with Apple once I create a tiny self-contained reduced testcase.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Keywords: fixed1.8.1.12
Resolution: --- → FIXED
Summary: cookie dialogue open behinds menu and freezes menu open, blocking dialogue → Cookie dialog opens behind menu and blocks menu; menu may obscure dialog causing a mousy hang
Target Milestone: --- → Camino1.6
Clearing the obsolete flag. (In reply to comment #14) > I'll file a bug with Apple > once I create a tiny self-contained reduced testcase. Mark, have you had a chance to file a bug yet?
Flags: camino1.6?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: