Closed Bug 1130535 Opened 6 years ago Closed 6 years ago

ChromeProcessController::HandleSingleTap events can end up going through APZCTreeManager::ReceiveInputEvent


(Core :: Panning and Zooming, defect)

Gonk (Firefox OS)
Not set



Tracking Status
firefox38 --- fixed
b2g-v2.2 --- fixed
b2g-master --- fixed


(Reporter: kats, Assigned: kats)



(Whiteboard: [input-thread-uplift-part5])


(1 file)

Currently the way the B2G code is set up, the widget code that calls SetTargetAPZC will always confirm the tentative guid that the APZC provided from the results of the hit-test. However, this may disagree with the main-thread hit-test.

As a result, there may be scenarios where the HandleSingleTap call that the APZ code generates will go to the parent process instead of the child process. The mouse events generated from the single-tap will wind their way into TabParent::SendRealMouseEvent, which then tries to "untransform" the event by calling into MaybeForwardEventToRenderFrame.

Given that on b2g (and all other platforms now) the events go through the APZ before entering the main-thread flow, we should be able to take out this "midway untransform" that happens in RenderFrameParent for all events.
Attached patch PatchSplinter Review
Attachment #8560611 - Flags: review?(dvander)
Attachment #8560611 - Flags: review?(botond)
Attachment #8560611 - Flags: review?(botond) → review+
Attachment #8560611 - Flags: review?(dvander) → review+
checkin-needed since inbound is closed and if I land this on b2g-inbound it will cause a merge conflict with bug 1130129 from inbound.

There's a try push in progress which includes this patch; it's looking green so far but it would be good to double-check that before landing.
Keywords: checkin-needed
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
Whiteboard: [NO_UPLIFT][input-thread-uplift-part5]
Comment on attachment 8560611 [details] [diff] [review]

NOTE: Please see to better understand the B2G approval process and landings.

[Approval Request Comment]
Bug caused by (feature/regressing bug #): required for parent-process APZ (bug 950934) and input-thread (bug 930939) which are 2.2+ features. I'm tracking the full set of bugs that will need uplifting together at; requesting approval on bugs individually but will wait until everything has approval before I uplift any of it.
User impact if declined: can't have parent-process APZ or input-thread
Testing completed: on master. some of these bugs have been baking for a while; others are more recent.
Risk to taking this patch (and alternatives if risky): there's likely some edge cases that we haven't run into yet and will be uncovered with further testing. Bug 1128887 is the only known issue that we don't yet have a fix for but I consider that relatively minor and something we can fix after uplifting everything else.
String or UUID changes made by this patch: none
Attachment #8560611 - Flags: approval-mozilla-b2g37?
Attachment #8560611 - Flags: approval-mozilla-b2g37? → approval-mozilla-b2g37+
Whiteboard: [NO_UPLIFT][input-thread-uplift-part5] → [input-thread-uplift-part5]
You need to log in before you can comment on or make changes to this bug.