New issue
Advanced search Search tips

Issue 905325 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 19
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task



Sign in to add a comment

Bundle white listed touch action into compositor ack

Project Member Reported by xidac...@chromium.org, Nov 14

Issue description

Right now when the kCompositorTouchAction is on, we ack an touch event from compositor thread, and send the white listed touch action through a different IPC. There is a potential risk of racing here. We should try to bundle that into the ack.
 
Labels: -Type-Bug Hotlist-CodeHealth Type-Task
Project Member

Comment 2 by bugdroid1@chromium.org, Nov 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/15d9e1b4f21f71af7212054095ed8335df002664

commit 15d9e1b4f21f71af7212054095ed8335df002664
Author: Xida Chen <xidachen@chromium.org>
Date: Mon Nov 19 20:57:08 2018

Bundle white listed touch action into the compositor ack

With kCompositorTouchAction turned on, a touch event is acked from the
compositor thread instead of the main thread. Then the white listed
touch action is sent from the compositor to the browser from a separate
IPC. There is a potential race condition here, that the white listed
touch action would arrive before or after the ack. It could also happen
that the white listed touch action arrives after some gesture events
being dispatched, for example, the GSB might have reached the
TouchActionFilter while the white listed touch action is not arrived yet.

To solve this problem, this CL puts the white listed touch action as
a callback parameter, and send it through the ack, to the browser.

Bug:  905325 , 876323
Change-Id: Ia9d0bb02b57291d2333f6cfe6959430ff41b5084
Reviewed-on: https://chromium-review.googlesource.com/c/1336071
Commit-Queue: Xida Chen <xidachen@chromium.org>
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609429}
[modify] https://crrev.com/15d9e1b4f21f71af7212054095ed8335df002664/content/browser/renderer_host/input/input_router_impl.cc
[modify] https://crrev.com/15d9e1b4f21f71af7212054095ed8335df002664/content/browser/renderer_host/input/input_router_impl.h
[modify] https://crrev.com/15d9e1b4f21f71af7212054095ed8335df002664/content/browser/renderer_host/input/input_router_impl_unittest.cc
[modify] https://crrev.com/15d9e1b4f21f71af7212054095ed8335df002664/content/browser/renderer_host/input/touch_action_filter.h
[modify] https://crrev.com/15d9e1b4f21f71af7212054095ed8335df002664/content/renderer/input/widget_input_handler_manager.cc
[modify] https://crrev.com/15d9e1b4f21f71af7212054095ed8335df002664/content/renderer/input/widget_input_handler_manager.h

Status: Fixed (was: Assigned)

Sign in to add a comment