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)
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)
|
29.02 KB,
patch
|
stuart.morgan+bugzilla
:
review+
|
Details | Diff | Splinter Review |
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.
Comment 1•19 years ago
|
||
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
| Reporter | ||
Comment 4•19 years ago
|
||
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
| Assignee | ||
Comment 7•18 years ago
|
||
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 | ||
Comment 8•18 years ago
|
||
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:].
| Assignee | ||
Comment 9•18 years ago
|
||
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?
| Assignee | ||
Comment 10•18 years ago
|
||
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)
| Assignee | ||
Comment 11•18 years ago
|
||
I also want to kill:
NSLog([file pathExtension]);
in SaveHeaderSniffer.mm.
Blocks: 189298
| Assignee | ||
Updated•18 years ago
|
Attachment #292883 -
Flags: review?(sfraser_bugs) → review?(stuart.morgan)
Comment 12•18 years ago
|
||
(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 13•18 years ago
|
||
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+
| Assignee | ||
Comment 14•18 years ago
|
||
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?
Whiteboard: [needs-radar]
You need to log in
before you can comment on or make changes to this bug.
Description
•