Open Bug 130999 Opened 23 years ago Updated 2 years ago

The hover feedback for menus disapears on click

Categories

(Core :: XUL, defect)

x86
Linux
defect

Tracking

()

People

(Reporter: ian, Unassigned)

References

Details

(Whiteboard: [Hixie-P0][MB])

Attachments

(1 file)

STEPS TO REPRODUCE
   1. Hover over a menu on the top menubar.
   2. Click on it.

or:

   1. http://www.w3.org/Style/CSS/Test/
   2. Hover over one of the links at the top.
   3. Click (and hold) on a link without moving the mouse.

ACTUAL RESULTS
   Just after clicking, the element exits :hover and is only in :active.
   Mouse movement re-induces :hover.

EXPECTED RESULTS
   Click events should have no effect on :hover, only on :active.

I'm pretty sure I've already filed this, but I can't find it.
Keywords: css2
Summary: Clicks cause elements to go out of :hover → Clicks cause elements to go out of :hover (entering :active exits :hover)
Whiteboard: [MB][Hixie-P3][Hixie-P0]
QA Contact: madhur → rakeshmishra
dbaron: This may be related to your work on bug 5693.
Do you have a simplified testcase?  I don't think it's that simple, and I can't
reproduce the problem using your second set of steps.  I see the effect
resulting from your first set of steps, but I also don't see a single rule with
":hover" in menu.css in the modern skin.
I can't reproduce it with the second case either anymore, maybe your patch for
5693 fixed it. The first still occurs, but the document inspector doesn't show
any :hover or :active rules for menus... Sending this to XP Toolkit instead.
Assignee: joki → hyatt
Component: Event Handling → XP Toolkit/Widgets: Menus
Keywords: css2
QA Contact: rakeshmishra → shrir
Summary: Clicks cause elements to go out of :hover (entering :active exits :hover) → The hover feedback for menus disapears on click
Whiteboard: [MB][Hixie-P3][Hixie-P0] → [Hixie-P0][MB]
*** Bug 138899 has been marked as a duplicate of this bug. ***
This is a workaround, and perhaps also an improvement in the CSS.  It's a
workaround because the _moz_menuactive attribute is being cleared for some
reason from when you move the menu to when you open the mouse.
Except the workaround only seems to help classic, not modern...
The Easy Part:

When the menu is open, clicking on the menu item in the menu bar triggers 
nsMenuDismissalListener::Rollup(), which calls mMenuParent->HideChain(), which 
calls mMenuParent->SelectMenu(PR_FALSE).  This is what clears the menuactive 
flag - nsXULAtoms::menuactive.

The Hard Part:

Rollup() doesn't know where the click came from.  It doesn't know whether it's 
over the menu bar, over the document, or over another application.
Is it just me or does this only manifest itself if you hover over a second item
on the menu bar after clicking on the first?

1. Click Edit
2. Click Edit again

Edit has hover effect.

1. Click Edit
2. Mouse over View
3. Click View

View does not have hover effect.

This is using 2002060308 on Win2K.
This bug doesn't happen if the second click is close enough in time and space to
the first click that it is a double click.  That explains what Dean is seeing.

Dup of bug 26550?
They sound like the same bugs, but this one has a testcase and my explanation. 
Maybe that can be a dupe of this one?
Component: XP Toolkit/Widgets: Menus → XUL
QA Contact: shrir → xptoolkit.widgets
Assignee: hyatt → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: