Closed Bug 953158 Opened 6 years ago Closed 5 years ago

Menu buttons not hiding the corresponding menu when clicking around the icon

Categories

(Firefox :: Menus, defect)

29 Branch
defect
Not set

Tracking

()

VERIFIED FIXED
Firefox 34
Iteration:
34.1
Tracking Status
firefox33 --- verified
firefox34 --- verified

People

(Reporter: markus.xp, Assigned: Gijs)

References

(Blocks 1 open bug)

Details

(Keywords: ux-trust, Whiteboard: [Australis:P3-])

Attachments

(3 files)

When any menu button (i.e. main menu, downloads menu) is clicked while the corresponding menu is already displayed, it does only hide this menu when the cursor is placed exactly on the symbolic icon of the button. When the click occurs around this icon (still on button) the shown menu is just hides for a split second and reappears instantly.
Please see the attached image for more details.


Reproduced on Xubuntu 13.10 using Firefox Nightly 29.0a1
Confirmed 29.0a1 2013-01-08, Ubuntu 13.04 x86.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [Australis:P4]
I can reproduce on OS X too. Jared couldn't reproduce on Windows.
OS: Linux → All
Hardware: x86_64 → All
Summary: [Linux] Menu buttons not hiding the corresponding menu when clicking around the icon → [Linux/Mac] Menu buttons not hiding the corresponding menu when clicking around the icon
Duplicate of this bug: 983569
I hit this regularly and it makes us feel broken.
Flags: firefox-backlog?
Keywords: ux-trust
Whiteboard: [Australis:P4] → [Australis:P3-]
Lemme see what I can do here.
Assignee: nobody → mconley
Ok, so notes from an exploration:

1) We currently anchor the menu panel on the _icon_ of the PanelUI-menu-button. That's intentional - we try to anchor on icons where we can.
2) We also have a mousedown handler on PanelUI-menu-button that opens the menu. This was introduced in bug 890137 as a way of improving responsiveness (show the menu faster after user interaction by not waiting for the mouseup event).

Those two facts combine to result in this bug. Basically, when the menu panel is open, and one clicks the PanelUI-menu-button (but _not_ the icon), the panel notices that you're clicking neither the anchor nor the panel, so it closes itself. After that happens, the PanelUI-menu-button mousedown handler notices the mousedown and that the panel is now closed, and so re-opens it.

I'm curious to know why this doesn't apparently happen on Windows, so I'm looking at that next.
It looks like Windows gets around this by making the icon have the button chrome on hover - so it's the icon everybody is clicking. This has the consequence of not letting the arrow panel anchor directly overtop of the button. Grrrr.

Which brings to mind another question - what is PanelUI-button for, and why must it be the parent of PanelUI-menu-button? What do we gain with this PanelUI-button element?

Anywho, lemme see if I can find a better solution here...
(In reply to Mike Conley (:mconley) from comment #8)
> It looks like Windows gets around this by making the icon have the button
> chrome on hover - so it's the icon everybody is clicking. This has the
> consequence of not letting the arrow panel anchor directly overtop of the
> button. Grrrr.

I thought this was the case on Linux, too? And, doesn't that mean that clicking to the side of the button borders would also reproduce this on Windows?

Finally, this bug isn't just about the menu button - the download button, bookmarks menu button, and any of the builtin widgets all have the same bug. 

See also: https://bugzilla.mozilla.org/show_bug.cgi?id=987230#c5 .
Flags: firefox-backlog? → firefox-backlog+
I've got a potential fix for this in bug 987230.
Depends on: 987230
I was able to reproduce this on Windows 8.1 64bit Surface Pro 2, Firefox 30 beta 4 (with download, bookmarks etc except Panel Menu), latest Nightly (only Panel Menu) and Aurora (only Panel Menu).
Summary: [Linux/Mac] Menu buttons not hiding the corresponding menu when clicking around the icon → Menu buttons not hiding the corresponding menu when clicking around the icon
Duplicate of this bug: 1033559
I believe this should be fixed by bug 987230. Petruta, can you verify this, too? :-)
Assignee: mconley → gijskruitbosch+bugs
Status: NEW → RESOLVED
Iteration: --- → 34.1
Closed: 5 years ago
QA Whiteboard: [qa+]
Flags: needinfo?(petruta.rasa)
Resolution: --- → FIXED
Added to Iteration 34.1
I could reproduce the issue on older Firefox versions using Win 8 64-bit on an Ultrabook system, Ubuntu 12.10 32-bit and Mac OSX 10.9.4.
Verified as fixed on those systems with latest Aurora 33.0a2 and latest Nightly 34.0a1 2014-07-23.

I noticed that the Loop button is highlighted when it's clicked for the second time (on all platforms) and the Share panel is still not dismissed on Ubuntu.
Should I file new bugs for those issues?
Status: RESOLVED → VERIFIED
QA Whiteboard: [qa+] → [qa!]
Flags: needinfo?(petruta.rasa)
QA Contact: petruta.rasa
Target Milestone: --- → Firefox 34
(In reply to Petruta Rasa [QA] [:petruta] from comment #15)
> I could reproduce the issue on older Firefox versions using Win 8 64-bit on
> an Ultrabook system, Ubuntu 12.10 32-bit and Mac OSX 10.9.4.
> Verified as fixed on those systems with latest Aurora 33.0a2 and latest
> Nightly 34.0a1 2014-07-23.
> 
> I noticed that the Loop button is highlighted when it's clicked for the
> second time (on all platforms) and the Share panel is still not dismissed on
> Ubuntu.
> Should I file new bugs for those issues?

Yes please! :-)
While investigating the above issue on Ubuntu I've found en edge-case:

Seems like under Ubuntu and Windows, clicking outside the button's border that shows on hover can activate the button. While the mouse is 2 pixels away from the border, clicking still reproduces the bug. On the border and at 1px outside, the issue doesn't reproduce.

Under Mac, it seems that only 1px outside the border that shows on hover is clickable so I couldn't reproduce there.

Gijs, can you please take a look? Thanks :-)
Flags: needinfo?(gijskruitbosch+bugs)
(In reply to Petruta Rasa [QA] [:petruta] from comment #17)
> While investigating the above issue on Ubuntu I've found en edge-case:
> 
> Seems like under Ubuntu and Windows, clicking outside the button's border
> that shows on hover can activate the button. While the mouse is 2 pixels
> away from the border, clicking still reproduces the bug. On the border and
> at 1px outside, the issue doesn't reproduce.
> 
> Under Mac, it seems that only 1px outside the border that shows on hover is
> clickable so I couldn't reproduce there.
> 
> Gijs, can you please take a look? Thanks :-)

I can't reproduce this. I've tested with the history button and main menu button on Windows as well as Linux. Here's a screencast of what I'm doing... perhaps I'm missing something?
Flags: needinfo?(gijskruitbosch+bugs) → needinfo?(petruta.rasa)
While verifying, I customized the icons to add all of them that could reproduce the issue. I think that the issue described above happens only when the icons are placed between url bar and search toolbar, when clicking at 2px from their right border. Sorry for didn't notice this earlier.

Happens on Linux and Win.
Flags: needinfo?(petruta.rasa)
You need to log in before you can comment on or make changes to this bug.