Closed Bug 1960253 Opened 1 year ago Closed 1 year ago

Make `PresShell::EventHandler` computable the event target `PresShell` without processing the pending pointer captures

Categories

(Core :: DOM: Events, task)

task

Tracking

()

RESOLVED FIXED
140 Branch
Tracking Status
firefox140 --- fixed

People

(Reporter: masayuki, Assigned: masayuki)

References

Details

Attachments

(1 file)

We need to consider whether dispatch or not pointerrawupdate events before processing pending pointer captures to keep the traditional behavior on the documents/windows which do not use pointerrawupdate events. However, currently, the computation depends on flushing the pending pointer captures. So, we need to rewrite the computation which won't depend on the pointer capture state.

We'll need to compute the target PresShell before processing the pending
pointer capture to check whether the corresponding window needs
pointerrawupdate events (bug 1550462).

However, currently code needs to flush the pending pointer capture and that
will change the behavior in some edge cases if the window does not need
pointerrawupdate events.

Therefore, we need a code to compute the target PresShell without processing
the pending pointer capture (and also without running any script) to consider
whether PresShell dispatches a pointerrawupdate at start of handling it.

Unfortunately, the code needs to return some information for the further
handling. Therefore, this makes a new nested struct and its constructor
computes everything with/without running script.

Pushed by masayuki@d-toybox.com: https://hg.mozilla.org/integration/autoland/rev/ddd6c187d02d Split the computation of target frame/content of events using coordinates from `EventHandler::HandleEventUsingCoordinates` r=smaug
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 140 Branch
QA Whiteboard: [qa-triage-done-c141/b140]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: