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
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
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
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
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
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
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
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
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
I will now close this bug, and open another bug to track the experiments.
Comment 1 by bugdroid1@chromium.org
, Apr 5 2018