Pointerout and Mouseout behave differently over 3rd-party iframes (Pointerout is unreliable)
Categories
(Core :: DOM: UI Events & Focus Handling, defect)
Tracking
()
People
(Reporter: paulrhomberg01, Assigned: edgar)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: nightly-community, regression)
Attachments
(6 files)
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:146.0) Gecko/20100101 Firefox/146.0
Steps to reproduce:
I created a <div> above a third party iframe and attached an event listener for "pointerout". Then I noticed that it is unreliable compared to mouseout with this setup in Firefox.
In Google Chrome, this works reliably and Pointerout triggers 100% of the time.
Actual results:
When you move the cursor out of an element placed above a 3rd-party iframe, pointerout only triggers rarely (maybe ~10% of the time) while mouseout works reliably.
Expected results:
Pointerout should trigger reliably. Attached is a demo html file.
| Reporter | ||
Comment 1•4 months ago
|
||
| Reporter | ||
Comment 2•4 months ago
|
||
Comment 3•4 months ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::DOM: Core & HTML' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 4•4 months ago
•
|
||
Regression window:
https://hg-edge.mozilla.org/integration/autoland/pushloghtml?fromchange=383986e2f5cb835a55c47bbd6e15d81035ca0784&tochange=d6e8528f0a936df88369c71f4e390e31a4d621a1
After Bug 1732358: the pointerout event never fired until mouse out the iframe.
After Bug 1966551 : The pointerout event fires significantly late and is overwritten by subsequent events.
Comment 5•4 months ago
|
||
:nika, since you are the author of the regressor, bug 1732358, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
Comment 6•4 months ago
|
||
The bug has a release status flag that shows some version of Firefox is affected, thus it will be considered confirmed.
Updated•4 months ago
|
Updated•4 months ago
|
Comment 7•4 months ago
|
||
This appears to be some kind of focus/input behaviour change which only started happening after Fission was enabled.
Redirecting to masayuki who may have more context as to what component this needs to be directed to.
Comment 8•4 months ago
|
||
Looks like it's truly our bug. Unfortunately I don't have much time for this for a while. I'll be back later, or, edgar might be interested into this.
| Assignee | ||
Comment 9•4 months ago
|
||
We do generate the pointerout event, but that happens when you stop moving the cursor on the iframe.
So I think this is something about the timing of generating the pointer boundary event. For mouse event, we generate additional IPC to notify the processes about the mouse leaving, see https://searchfox.org/firefox-main/rev/8e6b6cb1dd0fdd9838e2359219e2b8d3b84490b2/dom/events/EventStateManager.cpp#2154-2200, I guess target process doesn't generate the pointer boundary event from that for some reason.
| Assignee | ||
Comment 10•4 months ago
|
||
| Assignee | ||
Comment 11•4 months ago
|
||
I also noticed that when cursor moves to frame that lives in different process, we dispatch the mouseover event first then the pointerover event, whereas other browsers dispatch pointerover event first. I think this is also something related to the additional IPC that is to notify about the mouse entering.
| Assignee | ||
Comment 12•3 months ago
|
||
| Assignee | ||
Comment 13•3 months ago
|
||
| Assignee | ||
Comment 14•3 months ago
|
||
| Assignee | ||
Comment 15•3 months ago
•
|
||
| Assignee | ||
Updated•3 months ago
|
Comment 16•3 months ago
|
||
Comment 17•3 months ago
|
||
Comment 18•3 months ago
|
||
Backed out for causing mochitest failures @ test_pointer_boundary_events_iframe
| Assignee | ||
Updated•3 months ago
|
Comment 19•3 months ago
|
||
Comment 20•3 months ago
|
||
| Comment hidden (obsolete) |
Comment 23•3 months ago
|
||
Comment 24•3 months ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/00c06139023f
https://hg.mozilla.org/mozilla-central/rev/5afa93c303d2
https://hg.mozilla.org/mozilla-central/rev/1c06425763ba
| Assignee | ||
Updated•3 months ago
|
Updated•2 months ago
|
Description
•