Closed Bug 1551961 Opened 3 years ago Closed 3 years ago

Hover state is not removed when mouse leaves the browser window


(Core :: DOM: UI Events & Focus Handling, defect, P1)

Windows 10



Tracking Status
firefox-esr60 --- unaffected
firefox66 --- unaffected
firefox67 --- unaffected
firefox68 + unaffected
firefox69 + fixed


(Reporter: vaindil, Assigned: mconley)




(Keywords: regression)


(2 files)

When the mouse leaves the browser window, the hover state of all elements should be removed. This is what happens in the stable branch (67) right now. In 68, however, the hover state remains when the cursor leaves the browser window. This happens to both the browser elements (like the bookmarks toolbar) and in the actual page.

I've attached a gif that illustrates this. You can see the hover actions working normally at the beginning, then I drag a Windows Explorer window up to each element (just to move the cursor off of the browser window), and the hover state remains.


I'm going to set a component in order to involve the development team in reviewing this issue.

Thank you for your contribution!

Component: General → User events and focus handling
Ever confirmed: true
Product: Firefox → Core
Version: 68 Branch → Trunk

Dear reporter, do you think you can help with find the regression window by using mozregression tool Thank you!

I now just have MAC at hand and I couldn't reproduce this.

Flags: needinfo?(vaindil)


This is the pushlog I've found using the mozregression tool:

I think Bug 1534389 might be where the issue originates from.

Flags: needinfo?(vaindil)

Peter_M, thank you very much.

Hi Mike,
Could you please take a look according to comment 3? Thanks!

Flags: needinfo?(mconley)
Flags: needinfo?(mconley)
Regressed by: 1534389
Flags: needinfo?(mconley)

Hi Mike, do you think we can have a patch to fix this regression in 68? thanks!

The best bet might be to back out bug 1534389 ( from beta, to buy me more time to fix this in 69.

apavel, is backing out 0930049c0ca9 on beta something you could help me with?

Flags: needinfo?(mconley) → needinfo?(apavel)

(In reply to Mike Conley (:mconley) (:⚙️) from comment #6)

The best bet might be to back out bug 1534389 ( from beta, to buy me more time to fix this in 69.

apavel, is backing out 0930049c0ca9 on beta something you could help me with?

Hi, sure.

I got mozilla@ubuntu ~/mozilla-unified beta(0) $ hg oops -er 0930049c0ca9
checking for uncommitted changes
backing out 0930049c0ca9
applying patch from stdin
patching file widget/windows/nsWindow.cpp
Hunk #2 FAILED at 613
Hunk #3 FAILED at 5309
Hunk #4 FAILED at 5343
Hunk #6 FAILED at 6170
4 out of 6 hunks FAILED -- saving rejects to file widget/windows/nsWindow.cpp.rej
patching file widget/windows/nsWindow.h
Hunk #3 FAILED at 661
1 out of 4 hunks FAILED -- saving rejects to file widget/windows/nsWindow.h.rej

To fix this all I need to do is revert the changes here right?

.rej file looks like this

Flags: needinfo?(apavel) → needinfo?(mconley)
Flags: needinfo?(mconley)
Priority: -- → P1

Mike, I'm assigning this to you as you're working with Andreea on backing out the patch where regression came from. Thank you!

Assignee: nobody → mconley

I think we have to back out bug 1549972 as well - I forgot that this was based on top bug 1534389.

apavel, can you please try running:

hg backout -r 8f236d0ba0fa
hg backout -r 0930049c0ca9

and seeing if that sticks?

Flags: needinfo?(mconley) → needinfo?(apavel)

Both bugs got backed out here
No issues so far, I'll keep monitoring the tree.

Flags: needinfo?(apavel) → needinfo?(mconley)

Will this be in the next beta, 68.0b13?

It should be, yes.


Flags: needinfo?(mconley)
See Also: → 1547263

I can confirm that this problem no longer exists in 68.0b13. Sorry for the spam if you didn't need the confirmation, but thank you!

This looks like it'll be fixed when I fix bug 1547263.

Depends on: 1547263

Actually, I think I'm going to invert the relationship, and post the patch to this bug.

Blocks: 1547263
No longer depends on: 1547263
Pushed by
Make Windows widget layer process a mouse leave event if the mouse exits a non-client area to a non-browser window. r=jmathies
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69

You probably don't need my feedback at this point, but I can confirm that this is fixed in 69.0b2. Thanks again!

Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.