Closed Bug 1914560 Opened 3 months ago Closed 2 months ago

Failing WPTs in /pointerevents/coalesced_events_attributes.https.html?mouse

Categories

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

defect

Tracking

()

RESOLVED FIXED
132 Branch
Tracking Status
firefox132 --- fixed

People

(Reporter: masayuki, Assigned: masayuki)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file, 1 obsolete file)

Currently, we set coalesced events only when eMouseMove or eTouchMove
is received in a remote process. Therefore, synthesized events for tests and
ePointerMove event which is converted from non-eMouseMove event won't have
coalesced events.

This patch makes the synthesizer methods set the coalesced event as the event
itself to emulate exactly same data at handling user input. Additionally,
make PointerEventHandler::DispatchPointerFromMouseOrTouch guarantees it
even in the parent process for the consistency.

Severity: -- → S3

Currently, we set coalesced events only when eMouseMove or eTouchMove
is received in a remote process. Therefore, synthesized events for tests and
ePointerMove event which is converted from non-eMouseMove event won't have
coalesced events.

This patch makes PointerEvent::GetCoalescedEvents() ensure at least one
coalesced event if it's a trust event, a pointermove event and its widget
event does not have coalesced events.

Ideally, we should fix this at synthesizer and PointerEventHandler to make
consistent data between user initiated events and synthesized events for tests
to check the behavior exactly. However, it requires much more complicated
patch and C++ default handlers shouldn't refer the coalesced events.
Therefore, this patch touches the path in PointerEvent::GetCoalescedEvents().

Attachment #9420650 - Attachment is obsolete: true
Pushed by masayuki@d-toybox.com: https://hg.mozilla.org/integration/autoland/rev/c9eea28a07a6 Make `PointerEvent::GetCoalescedEvents()` ensure one event if trusted `ePointerMove` r=smaug

Hmm, bad timing. The test was updated recently. I'll retry to land it tomorrow after it comes m-c.

Flags: needinfo?(masayuki)

The patch makes PointerEvent.getCoalescedEvents() slower since synthesized events have not been initialized correctly before applying the patch. Additionally, the timeout itself is reported in bug 1915342. So, the slowness with this patch just increased the frequency. I'll make the manifest allow timeout if it's mac-opt build.

Blocks: 1915342
Pushed by masayuki@d-toybox.com: https://hg.mozilla.org/integration/autoland/rev/bc0138b53517 Make `PointerEvent::GetCoalescedEvents()` ensure one event if trusted `ePointerMove` r=smaug
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 132 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: