Spurious mouseout event with overlapped divs

VERIFIED FIXED

Status

()

P2
normal
VERIFIED FIXED
11 years ago
11 years ago

People

(Reporter: kinetik, Assigned: kinetik)

Tracking

({regression, testcase})

Trunk
x86
Mac OS X
regression, testcase
Points:
---
Bug Flags:
blocking1.9 +

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments, 2 obsolete attachments)

(Assignee)

Description

11 years ago
Created attachment 296250 [details]
roc's "even better testcase" from bug #125386

While running through testcases to test a fix for bug #297080 on Linux/GTK2, I noticed that the problem reported in bug #125386 still occurs on Mac OS X in trunk.  The OS X fix in bug #125386 was for the pre-Cocoa widget code.

Requesting blocking, as this is a regression--buggy behaviour would've returned when we switched to Cocoa widgets.  This is Mac/Cocoa only, does not occur on Linux/GTK2 or Windows.
Flags: blocking1.9?
(Assignee)

Comment 1

11 years ago
To save reading bug #125386, to use the attached testcase, move the mouse into the green "menu 2" div and move it slowly from left to right so that it passes over the "long list" scrollable div.  "menu 2" overlaps the "lost list" div, and when the mouse passes over the overlapping point, "menu 2" will receive spurious mouseexit events.

Updated

11 years ago
Flags: blocking1.9? → blocking1.9+

Updated

11 years ago
Priority: -- → P2
(Assignee)

Comment 2

11 years ago
Created attachment 300082 [details] [diff] [review]
patch

Event coordinates for mouse exit events of the last entered widget should be calculated relative to the last entered widget, not the current widget.
Attachment #300082 - Flags: superreview?(joshmoz)
Attachment #300082 - Flags: review?(joshmoz)
(Assignee)

Comment 3

11 years ago
Created attachment 300085 [details] [diff] [review]
patch v2 - better variable naming
Attachment #300082 - Attachment is obsolete: true
Attachment #300085 - Flags: superreview?
Attachment #300085 - Flags: review?(joshmoz)
Attachment #300082 - Flags: superreview?(joshmoz)
Attachment #300082 - Flags: review?(joshmoz)
(Assignee)

Updated

11 years ago
Attachment #300085 - Attachment is patch: true
Attachment #300085 - Attachment mime type: application/octet-stream → text/plain
Attachment #300085 - Flags: superreview? → superreview?(joshmoz)

Comment 4

11 years ago
Comment on attachment 300085 [details] [diff] [review]
patch v2 - better variable naming

Two problems that need to be fixed before we could check this in.

First of all, you can't use sLastViewEntered unless you make sure it is non-null.

Secondly, please re-calculate the exit event location right before each use in case sLastViewEntered changes.

So just don't calculate exitEventLocation before you use it, that way it'll be within an sLastViewEntered null check block and you pick up changes to sLastViewEntered.

Thanks for doing this!
Attachment #300085 - Flags: superreview?(joshmoz)
Attachment #300085 - Flags: review?(joshmoz)
Attachment #300085 - Flags: review-
(Assignee)

Comment 5

11 years ago
Created attachment 300096 [details] [diff] [review]
patch v3 - address review comments

D'oh, you're right, thanks!  In an earlier version I was actually doing this, but when I cleaned up the patch I moved the exitEventLocation calculation up with the others and completely missed the null check for sLastViewEntered.

Updated patch attached.
Attachment #300085 - Attachment is obsolete: true
Attachment #300096 - Flags: superreview?(joshmoz)
Attachment #300096 - Flags: review?(joshmoz)

Updated

11 years ago
Attachment #300096 - Flags: superreview?(roc)
Attachment #300096 - Flags: superreview?(joshmoz)
Attachment #300096 - Flags: review?(joshmoz)
Attachment #300096 - Flags: review+
Attachment #300096 - Flags: superreview?(roc) → superreview+
(Assignee)

Updated

11 years ago
Keywords: checkin-needed
Assignee: joshmoz → kinetik

Comment 6

11 years ago
landed on trunk, thanks!
Status: NEW → RESOLVED
Last Resolved: 11 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
verified using Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9pre) Gecko/2008050621 Firefox/3.0pre and the testcase from roc

--> Verified fixed
Status: RESOLVED → VERIFIED
Keywords: testcase
You need to log in before you can comment on or make changes to this bug.