New issue
Advanced search Search tips

Issue 772130 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 13
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 900202



Sign in to add a comment

Browser should use white-listed touch action for optimization

Project Member Reported by xidac...@chromium.org, Oct 5 2017

Issue description

Right now cc computes white-listed touch action, but it is not yet used in browser to decide whether a touch event is allowed or not. We should utilize that info for optimization
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 5 2018

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

commit 6d66c0a7a02cee481ff08ceff175a13c5bd2ec28
Author: Xida Chen <xidachen@chromium.org>
Date: Thu Apr 05 18:25:38 2018

Make white_listed_touch_action_ optional

Right now in TouchActionFilter class, the white_listed_touch_action_
member has a default value of Auto when the TouchActionFilter is
constructed. We have not started using this value yet to filter gesture
event and that's why this is not a problem for now. However, later on
we would want to use that value to determine whether a gesture is
definitely / partially allowed. In that case, a default value of auto
will cause a lot of trouble.

It makes sense to make white_listed_touch_action_ member Optional.
When we receive a computed value from cc, we set it. When we start
filtering gesture event, we will be able to check against the value
that we received from cc, instead of against the default value.

This CL should not cause any behavior change because we have not yet
using that value to do anything. It is a pre-requisite for following up
CLs that will be using the value to filter gesture event.

Bug:  772130 
Change-Id: I6de715c62b86067d53c28b5241002b9b8f74e16c
Reviewed-on: https://chromium-review.googlesource.com/997763
Commit-Queue: Xida Chen <xidachen@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548492}
[modify] https://crrev.com/6d66c0a7a02cee481ff08ceff175a13c5bd2ec28/content/browser/renderer_host/input/touch_action_filter.cc
[modify] https://crrev.com/6d66c0a7a02cee481ff08ceff175a13c5bd2ec28/content/browser/renderer_host/input/touch_action_filter.h

Project Member

Comment 2 by bugdroid1@chromium.org, Apr 13 2018

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

commit df0c7397324bf8d0397eb8e88e3ee4e2938b247f
Author: Xida Chen <xidachen@chromium.org>
Date: Fri Apr 13 15:13:09 2018

Add some more browser tests for touch action

Right now touch_action_browsertest.cc has two tests only, one for auto
which is the default, and one for none.

This CL adds more test cases with janky main thread. There is a special
test case where touch ack timeout is triggered, which should allow all
gesture event.

Bug:  772130 
Change-Id: Ifabcb8356cb2526ad55313be01e24ea959ab2330
Reviewed-on: https://chromium-review.googlesource.com/1007864
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Xida Chen <xidachen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550623}
[modify] https://crrev.com/df0c7397324bf8d0397eb8e88e3ee4e2938b247f/content/browser/renderer_host/input/touch_action_browsertest.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/df0c7397324bf8d0397eb8e88e3ee4e2938b247f

commit df0c7397324bf8d0397eb8e88e3ee4e2938b247f
Author: Xida Chen <xidachen@chromium.org>
Date: Fri Apr 13 15:13:09 2018

Add some more browser tests for touch action

Right now touch_action_browsertest.cc has two tests only, one for auto
which is the default, and one for none.

This CL adds more test cases with janky main thread. There is a special
test case where touch ack timeout is triggered, which should allow all
gesture event.

Bug:  772130 
Change-Id: Ifabcb8356cb2526ad55313be01e24ea959ab2330
Reviewed-on: https://chromium-review.googlesource.com/1007864
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Xida Chen <xidachen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550623}
[modify] https://crrev.com/df0c7397324bf8d0397eb8e88e3ee4e2938b247f/content/browser/renderer_host/input/touch_action_browsertest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, May 2 2018

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

commit e051a6cee67704361f613510cbfee2686631bf03
Author: Xida Chen <xidachen@chromium.org>
Date: Wed May 02 16:35:13 2018

[Code health] Return enum instead of bool in FilterGestureEvent

Currently we return a bool in TouchActionFilter::FilterGestureEvent, this
CL change the return value to an enum. This is aimed to improve readability,
and to prepare for later changes of unblocking a gesture event when it
hits main thread touch action region.

This CL contains mechanical changes only, there is no behavior change
introduced.

Bug:  772130 
Change-Id: I72b3c5e1047c22923db2e1dcf58f684ab07aa343
Reviewed-on: https://chromium-review.googlesource.com/1039246
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Commit-Queue: Xida Chen <xidachen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555421}
[modify] https://crrev.com/e051a6cee67704361f613510cbfee2686631bf03/content/browser/renderer_host/input/input_router_impl.cc
[modify] https://crrev.com/e051a6cee67704361f613510cbfee2686631bf03/content/browser/renderer_host/input/touch_action_filter.cc
[modify] https://crrev.com/e051a6cee67704361f613510cbfee2686631bf03/content/browser/renderer_host/input/touch_action_filter.h
[modify] https://crrev.com/e051a6cee67704361f613510cbfee2686631bf03/content/browser/renderer_host/input/touch_action_filter_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, May 19 2018

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

commit ffd43addc29a9c7433657cba3df93f8a87887ac7
Author: Xida Chen <xidachen@chromium.org>
Date: Sat May 19 02:38:16 2018

Make TouchActionFilter::allowed_touch_action_ optional

The allowed_touch_action_ bit is set to Auto by default when a touch
action filter is constructed. If we'd want to make a gesture that is
hitting a main thread touch action region non blocking, we need to
make this bit optional and set/reset at the right time.

In this CL, allowed_touch_action_ is set at touch start, and reset
at GestureScrollEnd, and we also handle the scroll bubbling cases.

The intention of this CL is to NOT cause any behavior change, which
can be verified by existing tests.

Bug:  772130 
Change-Id: I6d37fc4d1b99bddc334f28dc342c9b095a5f30c6
Reviewed-on: https://chromium-review.googlesource.com/1042351
Commit-Queue: Xida Chen <xidachen@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560146}
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/frame_host/cross_process_frame_connector.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/renderer_host/input/compositor_event_ack_browsertest.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/renderer_host/input/input_router.h
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/renderer_host/input/input_router_impl.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/renderer_host/input/input_router_impl.h
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/renderer_host/input/input_router_impl_unittest.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/renderer_host/input/touch_action_filter.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/renderer_host/input/touch_action_filter.h
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/renderer_host/input/touch_action_filter_unittest.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/renderer_host/render_widget_host_input_event_router.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/browser/site_per_process_hit_test_browsertest.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/third_party/blink/public/platform/web_gesture_event.h
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/third_party/blink/renderer/core/exported/web_page_popup_impl.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/third_party/blink/renderer/core/input/touch_action_test.cc
[modify] https://crrev.com/ffd43addc29a9c7433657cba3df93f8a87887ac7/third_party/blink/renderer/core/input/touch_event_manager.cc

Project Member

Comment 6 by bugdroid1@chromium.org, May 21 2018

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

commit 0c2262ad0ab5281eeea320a748c1a9e6176b516f
Author: calamity <calamity@chromium.org>
Date: Mon May 21 03:40:16 2018

Revert "Make TouchActionFilter::allowed_touch_action_ optional"

This reverts commit ffd43addc29a9c7433657cba3df93f8a87887ac7.

Reason for revert: Suspected of causing
https://ci.chromium.org/buildbot/chromium.memory/Linux%20CFI/7978

Original change's description:
> Make TouchActionFilter::allowed_touch_action_ optional
> 
> The allowed_touch_action_ bit is set to Auto by default when a touch
> action filter is constructed. If we'd want to make a gesture that is
> hitting a main thread touch action region non blocking, we need to
> make this bit optional and set/reset at the right time.
> 
> In this CL, allowed_touch_action_ is set at touch start, and reset
> at GestureScrollEnd, and we also handle the scroll bubbling cases.
> 
> The intention of this CL is to NOT cause any behavior change, which
> can be verified by existing tests.
> 
> Bug:  772130 
> Change-Id: I6d37fc4d1b99bddc334f28dc342c9b095a5f30c6
> Reviewed-on: https://chromium-review.googlesource.com/1042351
> Commit-Queue: Xida Chen <xidachen@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Reviewed-by: Robert Flack <flackr@chromium.org>
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
> Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#560146}

TBR=flackr@chromium.org,pdr@chromium.org,dtapuska@chromium.org,piman@chromium.org,xidachen@chromium.org,nzolghadr@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  772130 
Change-Id: I866b91f13116a085f9956604f16324e373da540b
Reviewed-on: https://chromium-review.googlesource.com/1067217
Reviewed-by: calamity <calamity@chromium.org>
Commit-Queue: calamity <calamity@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560223}
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/frame_host/cross_process_frame_connector.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/renderer_host/input/compositor_event_ack_browsertest.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/renderer_host/input/input_router.h
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/renderer_host/input/input_router_impl.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/renderer_host/input/input_router_impl.h
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/renderer_host/input/input_router_impl_unittest.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/renderer_host/input/touch_action_filter.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/renderer_host/input/touch_action_filter.h
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/renderer_host/input/touch_action_filter_unittest.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/renderer_host/render_widget_host_input_event_router.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/browser/site_per_process_hit_test_browsertest.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/third_party/blink/public/platform/web_gesture_event.h
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/third_party/blink/renderer/core/exported/web_page_popup_impl.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/third_party/blink/renderer/core/input/touch_action_test.cc
[modify] https://crrev.com/0c2262ad0ab5281eeea320a748c1a9e6176b516f/third_party/blink/renderer/core/input/touch_event_manager.cc

Project Member

Comment 7 by bugdroid1@chromium.org, May 21 2018

Labels: merge-merged-3436
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aed9aeaa6755cf905bf4e3a7db680359de88f9bf

commit aed9aeaa6755cf905bf4e3a7db680359de88f9bf
Author: calamity <calamity@chromium.org>
Date: Mon May 21 22:26:03 2018

Revert "Make TouchActionFilter::allowed_touch_action_ optional"

This reverts commit ffd43addc29a9c7433657cba3df93f8a87887ac7.

Reason for revert: Suspected of causing
https://ci.chromium.org/buildbot/chromium.memory/Linux%20CFI/7978

Original change's description:
> Make TouchActionFilter::allowed_touch_action_ optional
> 
> The allowed_touch_action_ bit is set to Auto by default when a touch
> action filter is constructed. If we'd want to make a gesture that is
> hitting a main thread touch action region non blocking, we need to
> make this bit optional and set/reset at the right time.
> 
> In this CL, allowed_touch_action_ is set at touch start, and reset
> at GestureScrollEnd, and we also handle the scroll bubbling cases.
> 
> The intention of this CL is to NOT cause any behavior change, which
> can be verified by existing tests.
> 
> Bug:  772130 
> Change-Id: I6d37fc4d1b99bddc334f28dc342c9b095a5f30c6
> Reviewed-on: https://chromium-review.googlesource.com/1042351
> Commit-Queue: Xida Chen <xidachen@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Reviewed-by: Robert Flack <flackr@chromium.org>
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
> Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#560146}

TBR=flackr@chromium.org,pdr@chromium.org,dtapuska@chromium.org,piman@chromium.org,xidachen@chromium.org,nzolghadr@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  772130 
Change-Id: I866b91f13116a085f9956604f16324e373da540b
Reviewed-on: https://chromium-review.googlesource.com/1067217
Reviewed-by: calamity <calamity@chromium.org>
Commit-Queue: calamity <calamity@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#560223}(cherry picked from commit 0c2262ad0ab5281eeea320a748c1a9e6176b516f)
Reviewed-on: https://chromium-review.googlesource.com/1067998
Reviewed-by: Abdul Syed <abdulsyed@google.com>
Cr-Commit-Position: refs/branch-heads/3436@{#4}
Cr-Branched-From: 6ab73dd4f03b62cbe61e83482356506e02cd1bf4-refs/heads/master@{#560157}
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/frame_host/cross_process_frame_connector.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/renderer_host/input/compositor_event_ack_browsertest.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/renderer_host/input/input_router.h
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/renderer_host/input/input_router_impl.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/renderer_host/input/input_router_impl.h
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/renderer_host/input/input_router_impl_unittest.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/renderer_host/input/touch_action_filter.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/renderer_host/input/touch_action_filter.h
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/renderer_host/input/touch_action_filter_unittest.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/renderer_host/render_widget_host_input_event_router.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/browser/site_per_process_hit_test_browsertest.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/third_party/blink/public/platform/web_gesture_event.h
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/third_party/blink/renderer/core/exported/web_page_popup_impl.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/third_party/blink/renderer/core/input/touch_action_test.cc
[modify] https://crrev.com/aed9aeaa6755cf905bf4e3a7db680359de88f9bf/third_party/blink/renderer/core/input/touch_event_manager.cc

Blockedon: 900202
Project Member

Comment 9 by bugdroid1@chromium.org, Nov 2

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

commit 84d0845e7e0f0973109ed05420815e9267f6119d
Author: Xida Chen <xidachen@chromium.org>
Date: Fri Nov 02 20:36:54 2018

Ack touch start from compositor instead of Blink

Right now if there is a touch start that hits a main thread touch action
region, we'd ack the touch start from the renderer and the allowed touch
action is sent together with that ack. For example, when we touch a main
thread touch action region, the InputRouterImpl::TouchEventHandled
callback is executed when the browser receives the ACK from the main
thread.

This CL changes the logic a bit without changing the behavior. Specifically,
we change InputHandlerProxy::HitTestTouchEvent to return
DID_HANDLE_NON_BLOCKING instead of DID_NOT_HANDLE, which means that
we are now sending the ACK for the touch start form the compositor instead
of the main thread. With this change, InputRouterImpl::TouchEventHandled
callback will be executed when the browser receives the ACK from the
compositor, and that the touch action computed from the main thread may
be unknown. Once the TouchEventHandled callback is executed, it calls
the ProcessTouchAck which processes the touch ack and generates gesture
events from them.

To keep the same behavior as what it is now, this CL queues all the generated
gesture events until the effective touch action is received.

To preserve the touch ack timeout behavior, what we did in this CL is that
when calling ProcessTouchAck, don't stop the timeout monitor if the main
thread touch action is not received yet. When the main thread touch action
is received, then stop the timeout monitor.

We can use the existing tests to make sure that there is no behavior
change.

Bug:  772130 
Change-Id: I6376f03c938206ad4bd3d3acb00cdb6581ac4f2c
Reviewed-on: https://chromium-review.googlesource.com/c/1255442
Commit-Queue: Xida Chen <xidachen@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605040}
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/renderer_host/input/gesture_event_queue.cc
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/renderer_host/input/gesture_event_queue.h
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/renderer_host/input/input_router_impl.cc
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/renderer_host/input/input_router_impl.h
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/renderer_host/input/input_router_impl_unittest.cc
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/renderer_host/input/passthrough_touch_event_queue.cc
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/renderer_host/input/passthrough_touch_event_queue.h
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/renderer_host/input/passthrough_touch_event_queue_unittest.cc
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/renderer_host/input/touch_action_filter.cc
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/renderer_host/input/touch_action_filter.h
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/renderer_host/input/touch_timeout_handler.cc
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/renderer_host/input/touch_timeout_handler.h
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/common/input/input_handler.mojom
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/renderer/input/widget_input_handler_manager.cc
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/content/renderer/render_widget_unittest.cc
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/ui/events/blink/input_handler_proxy.cc
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/ui/events/blink/input_handler_proxy.h
[modify] https://crrev.com/84d0845e7e0f0973109ed05420815e9267f6119d/ui/events/blink/input_handler_proxy_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 13

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

commit f164239c3542c62a496eeca6878bc9f64dfef560
Author: Xida Chen <xidachen@chromium.org>
Date: Tue Nov 13 01:59:04 2018

Make browser use compositor-computed touch action

This CL implements the idea of Phase 1 described in this doc:
https://docs.google.com/document/d/1bSv_qNsLLnpXImuH7sHa6D3R_0GdDYkTiNjxso8Rgxo/edit#

The idea to to let the browser use compositor-computed touch action,
to decide whether a gesture event should be allowed or dropped, if the
effective touch action from the main thread is not known yet.

This CL makes it work with gestures other than PinchBegin / Update /
End, as those are more complex.

Bug:  772130 
Change-Id: I92af471f22c76080755d34925069fdf3a4f448c7
Reviewed-on: https://chromium-review.googlesource.com/c/1318060
Commit-Queue: Xida Chen <xidachen@chromium.org>
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607432}
[modify] https://crrev.com/f164239c3542c62a496eeca6878bc9f64dfef560/content/browser/renderer_host/input/input_router_impl.cc
[modify] https://crrev.com/f164239c3542c62a496eeca6878bc9f64dfef560/content/browser/renderer_host/input/touch_action_browsertest.cc
[modify] https://crrev.com/f164239c3542c62a496eeca6878bc9f64dfef560/content/browser/renderer_host/input/touch_action_filter.cc
[modify] https://crrev.com/f164239c3542c62a496eeca6878bc9f64dfef560/content/browser/renderer_host/input/touch_action_filter.h
[modify] https://crrev.com/f164239c3542c62a496eeca6878bc9f64dfef560/content/browser/renderer_host/input/touch_action_filter_unittest.cc

Status: Fixed (was: Assigned)
I will now close this bug, and open another bug to track the experiments.

Sign in to add a comment