Closed Bug 1031601 Opened 7 years ago Closed 7 years ago

Enable support to send InputData* types over IPDL.

Categories

(Core :: IPC, defect, P2)

ARM
Gonk (Firefox OS)
defect

Tracking

()

RESOLVED WONTFIX

People

(Reporter: mchang, Assigned: mchang)

References

Details

(Keywords: perf, Whiteboard: [c=uniformity p=3 s=2014.08.01 u=] )

Attachments

(1 file)

For bug 930939, we need to send MultiTouchInput data from APZC over IPDL to the childdata instead of WidgetTouchInput since APZ is based on MultiTouchInput data. In addition, since we need to access the touch data off main thread, we cannot use the Widget* type of data[1]. Currently, InputData and it's subclasses cannot be sent over IPDL, so we have to support serializing / deserialization of the data.  

The first classes we need are InputData, MultiTouchInput and SingleTouchData. PanGesture type of inputs are only used on desktop and TapGestureInput is created by APZ[2].

[1] http://dxr.mozilla.org/mozilla-central/source/widget/InputData.h?from=InputData.h&case=true#83
[2] http://dxr.mozilla.org/mozilla-central/source/widget/InputData.h?from=InputData.h&case=true#316
Hey Ben, From [1], it says I need a core IPC module owner to review this. Please let me know if you have any questions. Thanks!

[1] https://developer.mozilla.org/en-US/docs/IPDL/Type_Serialization
Attachment #8447519 - Flags: review?(bent.mozilla)
Blocks: 1030941
No longer depends on: 1030941
Comment on attachment 8447519 [details] [diff] [review]
bug 1031601: Support IPDL messaging of InputData* types

Review of attachment 8447519 [details] [diff] [review]:
-----------------------------------------------------------------

maybe i misunderstood what we discussed but I don't see why we would need this. It should only ever be WidgetInputEvent that goes over IPC.
Attachment #8447519 - Flags: feedback-
I thought we were going to send the updated TouchInputData from APZ, which is on the input thread, to the TabChild. This way, we can send TabChild the touch start/touch end data directly from APZ rather than blocking on the main thread with a WidgetTouchData type.
Comment on attachment 8447519 [details] [diff] [review]
bug 1031601: Support IPDL messaging of InputData* types

Cancelling review until I can talk to :kats, whose on PTO. Will re-ask for review if applicable after discussing with kats.
Attachment #8447519 - Flags: review?(bent.mozilla)
Talked with kats this morning. We will need this if we want to forward touch events from APZ -> TabChild directly, but that will be a while and is too risky to land / review right now. First, we need to get touch events processed on the vsync thread first and only send touch events across IPDL on the main thread on TabParent/TabChild. Leaving this open, but unactionable for now.
Priority: P1 → P2
I think there is too much risk at the moment to send touch events from APZ -> TabChild without first going through the Gecko parent process. We already have some quirky bugs where APZ sees the touch event prior to the Gecko Parent process, so doing APZ -> TabChild will be too risky for quite some time. Resolving for now.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
Whiteboard: [c=uniformity p=3 s= u=] → [c=uniformity p=3 s=2014.08.01 u=]
You need to log in before you can comment on or make changes to this bug.