Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(262)

Issue 1749343004: Implement Wheel Gesture Scrolling on OSX. (Closed)

Created:
4 years, 9 months ago by dtapuska
Modified:
4 years, 9 months ago
CC:
blink-reviews, blink-reviews-api_chromium.org, chromium-reviews, darin-cc_chromium.org, dglazkov+blink, jam, kenrb, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-content_chromium.org, tdresser+watch_chromium.org, wjmaclean
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement Wheel Gesture Scrolling on OSX. Create wheel based gestures from mouse wheel event phases when available. Pass overscroll into the input elasticity controller to handle the elastic overflow scroll on OSX. Transition the FrameWatcher to be a global IPC Message filter so that it gets first crack at the messages (it is a passive listener); because the RenderBrowserFilter was consuming the FrameSwap messages causing the browser test to always fail on Mac. BUG=587979 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/1827dd232f84cc1143914fe89e375eb33c7d12d6 Cr-Commit-Position: refs/heads/master@{#380639}

Patch Set 1 #

Patch Set 2 : Fix non mac builds #

Total comments: 24

Patch Set 3 : Make sure each move is in a synthethic GSB/GSU/GSE block so we don't do scroll latching yet #

Patch Set 4 : Rebase #

Patch Set 5 : #

Total comments: 38

Patch Set 6 : Fix up tdresser's comments from patch 5 #

Total comments: 16

Patch Set 7 : Fix nits and change unit test around to fix MSVC build issue #

Total comments: 10

Patch Set 8 : Fix nits in patch set 7 #

Patch Set 9 : Ensure only high precision scroll begins are used #

Unified diffs Side-by-side diffs Delta from patch set Stats (+979 lines, -155 lines) Patch
M cc/input/input_handler.h View 1 2 3 4 5 3 chunks +16 lines, -2 lines 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 chunks +49 lines, -7 lines 0 comments Download
M content/browser/renderer_host/input/composited_scrolling_browsertest.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/browser/renderer_host/input/mouse_wheel_event_queue.h View 1 2 3 4 5 6 2 chunks +14 lines, -4 lines 0 comments Download
M content/browser/renderer_host/input/mouse_wheel_event_queue.cc View 1 2 3 4 5 6 7 5 chunks +109 lines, -50 lines 0 comments Download
M content/browser/renderer_host/input/mouse_wheel_event_queue_unittest.cc View 1 2 3 4 5 6 10 chunks +220 lines, -36 lines 0 comments Download
M content/browser/renderer_host/input/non_blocking_event_browsertest.cc View 3 chunks +2 lines, -8 lines 0 comments Download
M content/browser/renderer_host/input/touch_action_browsertest.cc View 1 chunk +1 line, -1 line 0 comments Download
M content/browser/web_contents/web_contents_view_aura_browsertest.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M content/public/test/browser_test_utils.h View 2 chunks +2 lines, -1 line 0 comments Download
M content/public/test/browser_test_utils.cc View 2 chunks +2 lines, -4 lines 0 comments Download
M content/renderer/input/input_handler_manager.h View 1 2 2 chunks +10 lines, -0 lines 0 comments Download
M content/renderer/input/input_handler_manager.cc View 1 2 2 chunks +27 lines, -0 lines 0 comments Download
M content/renderer/input/render_widget_input_handler.cc View 1 2 3 1 chunk +12 lines, -0 lines 0 comments Download
M content/renderer/input/render_widget_input_handler_delegate.h View 1 2 3 4 5 6 7 1 chunk +7 lines, -0 lines 0 comments Download
M content/renderer/mus/render_widget_mus_connection.h View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/mus/render_widget_mus_connection.cc View 1 1 chunk +7 lines, -0 lines 0 comments Download
M content/renderer/render_widget.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M content/renderer/render_widget.cc View 1 2 3 4 5 6 7 1 chunk +21 lines, -0 lines 0 comments Download
M third_party/WebKit/public/web/WebInputEvent.h View 1 2 3 4 5 2 chunks +18 lines, -0 lines 0 comments Download
M ui/events/blink/input_handler_proxy.h View 1 2 3 4 5 1 chunk +6 lines, -1 line 0 comments Download
M ui/events/blink/input_handler_proxy.cc View 1 2 3 4 5 6 10 chunks +65 lines, -33 lines 0 comments Download
M ui/events/blink/input_handler_proxy_unittest.cc View 1 2 2 chunks +3 lines, -2 lines 0 comments Download
M ui/events/blink/input_scroll_elasticity_controller.h View 1 chunk +9 lines, -0 lines 0 comments Download
M ui/events/blink/input_scroll_elasticity_controller.cc View 1 2 3 4 5 6 7 8 1 chunk +65 lines, -0 lines 0 comments Download
M ui/events/blink/input_scroll_elasticity_controller_unittest.cc View 1 2 3 4 5 6 chunks +304 lines, -4 lines 0 comments Download

Messages

Total messages: 32 (14 generated)
dtapuska
4 years, 9 months ago (2016-03-01 22:02:52 UTC) #3
tdresser
Seems like we could refactor this to share more between the wheel event and gesture ...
4 years, 9 months ago (2016-03-02 18:26:53 UTC) #4
dtapuska
PTAL https://codereview.chromium.org/1749343004/diff/20001/content/browser/renderer_host/input/mouse_wheel_event_queue.cc File content/browser/renderer_host/input/mouse_wheel_event_queue.cc (right): https://codereview.chromium.org/1749343004/diff/20001/content/browser/renderer_host/input/mouse_wheel_event_queue.cc#newcode89 content/browser/renderer_host/input/mouse_wheel_event_queue.cc:89: (base::TimeTicks::Now() - base::TimeTicks()).InSecondsF(); On 2016/03/02 18:26:53, tdresser wrote: ...
4 years, 9 months ago (2016-03-07 18:03:59 UTC) #6
tdresser
https://codereview.chromium.org/1749343004/diff/80001/cc/input/input_handler.h File cc/input/input_handler.h (right): https://codereview.chromium.org/1749343004/diff/80001/cc/input/input_handler.h#newcode103 cc/input/input_handler.h:103: GESTURE, // TODO(dtapuska): Remove this and just use TOUCHSCREEN. ...
4 years, 9 months ago (2016-03-08 14:28:53 UTC) #7
dtapuska
https://codereview.chromium.org/1749343004/diff/80001/cc/input/input_handler.h File cc/input/input_handler.h (right): https://codereview.chromium.org/1749343004/diff/80001/cc/input/input_handler.h#newcode103 cc/input/input_handler.h:103: GESTURE, // TODO(dtapuska): Remove this and just use TOUCHSCREEN. ...
4 years, 9 months ago (2016-03-08 20:31:50 UTC) #8
tdresser
LGTM with nits. https://codereview.chromium.org/1749343004/diff/100001/content/browser/renderer_host/input/mouse_wheel_event_queue.cc File content/browser/renderer_host/input/mouse_wheel_event_queue.cc (right): https://codereview.chromium.org/1749343004/diff/100001/content/browser/renderer_host/input/mouse_wheel_event_queue.cc#newcode150 content/browser/renderer_host/input/mouse_wheel_event_queue.cc:150: // because the events generated will ...
4 years, 9 months ago (2016-03-09 14:30:06 UTC) #9
dtapuska
https://codereview.chromium.org/1749343004/diff/100001/content/browser/renderer_host/input/mouse_wheel_event_queue.cc File content/browser/renderer_host/input/mouse_wheel_event_queue.cc (right): https://codereview.chromium.org/1749343004/diff/100001/content/browser/renderer_host/input/mouse_wheel_event_queue.cc#newcode150 content/browser/renderer_host/input/mouse_wheel_event_queue.cc:150: // because the events generated will be a GSB ...
4 years, 9 months ago (2016-03-09 16:12:29 UTC) #10
tdresser
Still LGTM, thanks!
4 years, 9 months ago (2016-03-09 16:24:33 UTC) #13
Charlie Reis
Rubber stamp LGTM for content/, mainly deferring to tdresser's review. CC'ing kenrb/wjmaclean for FYI, since ...
4 years, 9 months ago (2016-03-09 22:49:17 UTC) #14
aelias_OOO_until_Jul13
lgtm
4 years, 9 months ago (2016-03-10 19:22:54 UTC) #15
dtapuska
https://codereview.chromium.org/1749343004/diff/120001/content/browser/renderer_host/input/mouse_wheel_event_queue.cc File content/browser/renderer_host/input/mouse_wheel_event_queue.cc (right): https://codereview.chromium.org/1749343004/diff/120001/content/browser/renderer_host/input/mouse_wheel_event_queue.cc#newcode149 content/browser/renderer_host/input/mouse_wheel_event_queue.cc:149: // needs to be sent; this event sequence doesn't ...
4 years, 9 months ago (2016-03-10 19:51:16 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1749343004/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1749343004/140001
4 years, 9 months ago (2016-03-10 19:53:07 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/193445)
4 years, 9 months ago (2016-03-10 21:09:04 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1749343004/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1749343004/160001
4 years, 9 months ago (2016-03-10 22:10:40 UTC) #24
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/179661)
4 years, 9 months ago (2016-03-10 23:10:10 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1749343004/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1749343004/160001
4 years, 9 months ago (2016-03-11 14:35:24 UTC) #28
commit-bot: I haz the power
Committed patchset #9 (id:160001)
4 years, 9 months ago (2016-03-11 15:25:08 UTC) #30
commit-bot: I haz the power
4 years, 9 months ago (2016-03-11 15:26:15 UTC) #32
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/1827dd232f84cc1143914fe89e375eb33c7d12d6
Cr-Commit-Position: refs/heads/master@{#380639}

Powered by Google App Engine
This is Rietveld 408576698