Closed Bug 1246622 Opened 4 years ago Closed 4 years ago

Unexpected additional click handler called after mouse click event

Categories

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

46 Branch
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla47
Tracking Status
firefox45 --- unaffected
firefox46 + fixed
firefox47 + fixed

People

(Reporter: janmoesen_=-bugzilla-=+spamtrap, Assigned: mattwoodrow)

References

Details

(Keywords: regression, Whiteboard: dom-triaged)

Attachments

(1 file, 1 obsolete file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:47.0) Gecko/20100101 Firefox/47.0
Build ID: 20160205030204

Steps to reproduce:

A) CNN

1. Disable/uninstall Flash so the page below will use <video>
2. Open <http://money.cnn.com/2016/02/04/investing/oil-prices-space-us-inventories-supply-glut/index.html>
3. The video starts to play automatically
4. Click the video to pause it
5. The video pauses, but it also navigates to a new URL dedicated to the video, <http://money.cnn.com/video/news/economy/2014/12/18/the-story-behind-oils-plunge.cnnmoney?iid=EL>

B) Crowdfunding.gent

1. Open https://crowdfunding.gent/nl/projects/fietsherstelzuil
2. Click the purple "Doneer nu" button
3. Click on any of the form elements, e.g. the amount input or the "Verberg mijn naam" checkbox, or the pre-set amount buttons
4. The dialog box closes again, as if you had clicked outside of the dialog box (but the intended action, e.g. checking the checkbox, has happened, too)

Maybe some click event that keeps on bubbling because the default was not prevented? Either way, I think something has changed recently-ish: stable Firefox (44) works fine, but Developer Edition (46.0a2) and Nightly (47.0a1) do not.
Regression window from mozregression: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=35b211eaad1fa828064514c547057e4400e24459&tochange=691f2e687e46d1b166b88b0a3f9dbd480bff9afa

A quick search for "click", "event", "bubbl" and "dom" did not yield anything useful. Did I do something wrong?

The pushlog from before mozregression switched the bisection method to taskcluster:

https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=35b211eaad1fa828064514c547057e4400e24459&tochange=4a559a618d6798eb9a8fdc559f5a7a00085e2062

Nothing that jumps out at me in there, either. Sorry.
Component: Untriaged → Event Handling
Product: Firefox → Core
(In reply to Loic from comment #2)
> 
> I confirm the regression range with testcase "B) Crowdfunding.gent".
> https://hg.mozilla.org/mozilla-central/
> pushloghtml?fromchange=35b211eaad1fa828064514c547057e4400e24459&tochange=691f
> 2e687e46d1b166b88b0a3f9dbd480bff9afa

https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=6c49bb716593014c07d3736ea2124f74bfe3bb06&tochange=691f2e687e46d1b166b88b0a3f9dbd480bff9afa

Suspect: f950b7a04741	Thinker K.F. Li — Bug 1226904 - Fix boundary checking for leaves collecting. r=roc
Blocks: 1226904
Flags: needinfo?(tlee)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: dom-triaged
Tracking since this is a regression in 46. 
Matt or Daniel can you take a look since I think Thinker is on PTO right now?
Flags: needinfo?(matt.woodrow)
Flags: needinfo?(dholbert)
Matt knows much more about the 3d-transforms stuff that thinker has been working on than I do (I've been filing bugs but I don't really know the code), so I'll let Matt reply to comment 4 if he can.
Flags: needinfo?(dholbert)
Marking as a blocker of 1097464 since that's effectively where this all started.
Assignee: nobody → matt.woodrow
Blocks: 1097464
Flags: needinfo?(tlee)
Flags: needinfo?(matt.woodrow)
(In reply to Jan Moesen from comment #1)
> Regression window from mozregression:
> https://hg.mozilla.org/mozilla-central/
> pushloghtml?fromchange=35b211eaad1fa828064514c547057e4400e24459&tochange=691f
> 2e687e46d1b166b88b0a3f9dbd480bff9afa
> 
> A quick search for "click", "event", "bubbl" and "dom" did not yield
> anything useful. Did I do something wrong?
> 
> The pushlog from before mozregression switched the bisection method to
> taskcluster:
> 
> https://hg.mozilla.org/mozilla-central/
> pushloghtml?fromchange=35b211eaad1fa828064514c547057e4400e24459&tochange=4a55
> 9a618d6798eb9a8fdc559f5a7a00085e2062
> 
> Nothing that jumps out at me in there, either. Sorry.

Which testcase did you use for finding the regression range?


(In reply to Jan Moesen from comment #0)
 
> A) CNN

Are you sure this is a regression? I see the same behaviour in both Safari and Chrome.
This fixes the second testcase.

I'll make an automated test for this over the weekend and request review.
Yes, the testcase A is wrong, it happens with FF44. The testcase B is right.
Sorry for the red herring. I got confused because I experienced both issues around the same time. (You should see me when *three* things happen at once.)
Duplicate of this bug: 1248025
Flags: in-testsuite?
Attachment #8718776 - Attachment is obsolete: true
Attachment #8719268 - Flags: review?(roc)
I'm running with this patch on inbound (Windows 10).  The example for CNN in the OP still works the same way.
> The example for CNN in the OP still works the same way.
Yeah, that was my mistake. See comment 7, comment 9 and comment 10.
https://hg.mozilla.org/mozilla-central/rev/a8b26015bfd9
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
Matt can you request uplift to aurora ? Thanks
Flags: needinfo?(matt.woodrow)
Comment on attachment 8719268 [details] [diff] [review]
Handle nested preserve-3d contexts

Approval Request Comment
[Feature/regressing bug #]: Bug 1226904 (preserve-3d rewrite)
[User impact if declined]: Incorrect hit testing on some 3d websites.
[Describe test coverage new/current, TreeHerder]: Manually test, mochitest added.
[Risks and why]: Low risk, change is specific to 3d code.
[String/UUID change made/needed]: None
Flags: needinfo?(matt.woodrow)
Attachment #8719268 - Flags: approval-mozilla-aurora?
Comment on attachment 8719268 [details] [diff] [review]
Handle nested preserve-3d contexts

OK in m-c, includes new test, we need this for APZ in 46.
Attachment #8719268 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Component: Event Handling → User events and focus handling
You need to log in before you can comment on or make changes to this bug.