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

Issue 2907053004: GSB uses delta_hints to calculate scrolling chain. (Closed)

Created:
3 years, 6 months ago by sahel
Modified:
3 years, 5 months ago
CC:
blink-reviews, blink-reviews-api_chromium.org, cc-bugs_chromium.org, chromium-reviews, dglazkov+blink, dtapuska+blinkwatch_chromium.org, dtapuska+chromiumwatch_chromium.org, kenneth.christiansen, kinuko+watch, majidvp, Navid Zolghadr, sunyunjia
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

GSB uses delta_hints to calculate scrolling chain. This cl uses delta_hints while calculating the scroll chain. If the scroller cannot consume any delta hints, we skip it and don't add it to the scrolling chain (viewports are exceptions) and the chain is only calculated while handling GSB events and used for the rest of the GSU events in current scrolling sequence. This is an optimization for handling GSUs since if the scrolling chain is empty we do an early return rather than recomputing the chain and then returning not handled. This cl also includes changes to unittests to make sure that GSB events have delta hint information; However, the event sender sets ignore delta hint to true to avoid layouttests failures. This will be changed in a separate cl. TBR=rbyers@chromium.org BUG=526463 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2907053004 Cr-Commit-Position: refs/heads/master@{#482416} Committed: https://chromium.googlesource.com/chromium/src/+/60b41cdfe22237cb667050017349375ca9272ccf

Patch Set 1 #

Total comments: 2

Patch Set 2 : debug version #

Total comments: 10

Patch Set 3 : failing tests fixed. #

Patch Set 4 : viewport is always added to the scorll chain, failing unittests fixed. #

Patch Set 5 : Event sender sets ignore_delta_hints to true. #

Patch Set 6 : delta hints must be identical to the first GSU deltas #

Patch Set 7 : gpusmoothscrollBy forwards wheel events with phase info. #

Patch Set 8 : fix scroll-customization failing test, CanScroll returns true when delta is zero. #

Patch Set 9 : Merged with master. #

Total comments: 24

Patch Set 10 : rebased. #

Patch Set 11 : review comments addressed. #

Total comments: 14

Patch Set 12 : review comments addressed. #

Total comments: 2

Patch Set 13 : Merge branch 'master' into GSB_checks_delta_hints #

Total comments: 9

Patch Set 14 : ignore_delta_hints_ deleted. #

Total comments: 2

Patch Set 15 : dcheck for scroll_node not null #

Patch Set 16 : Merge branch 'master' into GSB_checks_delta_hints #

Unified diffs Side-by-side diffs Delta from patch set Stats (+237 lines, -57 lines) Patch
M cc/input/input_handler.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -2 lines 0 comments Download
M cc/input/scroll_state.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
M cc/input/scroll_state_data.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +5 lines, -0 lines 0 comments Download
M cc/input/scroll_state_data.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +13 lines, -1 line 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8 chunks +88 lines, -19 lines 0 comments Download
M cc/trees/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +8 lines, -5 lines 0 comments Download
M content/browser/renderer_host/input/synthetic_smooth_move_gesture.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/renderer_host/input/synthetic_smooth_move_gesture.cc View 1 2 3 4 5 6 7 8 6 chunks +9 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/fast/scroll-behavior/scroll-customization/touch-scroll-customization.html View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/BrowserControlsTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/VisualViewportTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +10 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/input/ScrollManager.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/input/ScrollManager.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 10 chunks +53 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/RootScrollerTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +5 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/ScrollState.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/ScrollState.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/page/scrolling/ScrollStateInit.idl View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/tests/WebFrameTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 10 chunks +17 lines, -12 lines 0 comments Download
M third_party/WebKit/public/platform/WebGestureEvent.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -1 line 0 comments Download
M ui/events/blink/input_handler_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +3 lines, -2 lines 0 comments Download
M ui/events/blink/input_handler_proxy_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -2 lines 0 comments Download

Messages

Total messages: 102 (74 generated)
bokan
https://codereview.chromium.org/2907053004/diff/1/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2907053004/diff/1/cc/trees/layer_tree_host_impl.cc#newcode3296 cc/trees/layer_tree_host_impl.cc:3296: ScrollNode* viewport_scroll_node = OuterViewportScrollNode(); While you're here, please change ...
3 years, 6 months ago (2017-05-30 15:07:07 UTC) #9
dtapuska
https://codereview.chromium.org/2907053004/diff/20001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2907053004/diff/20001/cc/trees/layer_tree_host_impl.cc#newcode2779 cc/trees/layer_tree_host_impl.cc:2779: return scroll_status; Why is this an early return? It ...
3 years, 6 months ago (2017-05-30 15:20:38 UTC) #11
sahel
https://codereview.chromium.org/2907053004/diff/20001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2907053004/diff/20001/cc/trees/layer_tree_host_impl.cc#newcode2753 cc/trees/layer_tree_host_impl.cc:2753: if (!scrolling_node) { Early return happens here too when ...
3 years, 6 months ago (2017-05-30 15:36:15 UTC) #12
sahel
On 2017/05/30 15:36:15, sahel wrote: > https://codereview.chromium.org/2907053004/diff/20001/cc/trees/layer_tree_host_impl.cc > File cc/trees/layer_tree_host_impl.cc (right): > > https://codereview.chromium.org/2907053004/diff/20001/cc/trees/layer_tree_host_impl.cc#newcode2753 > ...
3 years, 6 months ago (2017-05-30 15:48:20 UTC) #14
bokan
https://codereview.chromium.org/2907053004/diff/20001/ui/events/blink/input_handler_proxy.cc File ui/events/blink/input_handler_proxy.cc (right): https://codereview.chromium.org/2907053004/diff/20001/ui/events/blink/input_handler_proxy.cc#newcode144 ui/events/blink/input_handler_proxy.cc:144: scroll_state_data.delta_x_hint = -event.data.scroll_begin.delta_x_hint; The delta on a scroll_begin is ...
3 years, 6 months ago (2017-05-30 15:57:44 UTC) #15
sahel
https://codereview.chromium.org/2907053004/diff/20001/ui/events/blink/input_handler_proxy.cc File ui/events/blink/input_handler_proxy.cc (right): https://codereview.chromium.org/2907053004/diff/20001/ui/events/blink/input_handler_proxy.cc#newcode144 ui/events/blink/input_handler_proxy.cc:144: scroll_state_data.delta_x_hint = -event.data.scroll_begin.delta_x_hint; On 2017/05/30 15:57:44, bokan wrote: > ...
3 years, 6 months ago (2017-05-30 16:02:06 UTC) #16
bokan
https://codereview.chromium.org/2907053004/diff/20001/ui/events/blink/input_handler_proxy.cc File ui/events/blink/input_handler_proxy.cc (right): https://codereview.chromium.org/2907053004/diff/20001/ui/events/blink/input_handler_proxy.cc#newcode144 ui/events/blink/input_handler_proxy.cc:144: scroll_state_data.delta_x_hint = -event.data.scroll_begin.delta_x_hint; On 2017/05/30 16:02:06, sahel wrote: > ...
3 years, 6 months ago (2017-05-30 16:05:29 UTC) #17
tdresser
On 2017/05/30 16:05:29, bokan wrote: > https://codereview.chromium.org/2907053004/diff/20001/ui/events/blink/input_handler_proxy.cc > File ui/events/blink/input_handler_proxy.cc (right): > > https://codereview.chromium.org/2907053004/diff/20001/ui/events/blink/input_handler_proxy.cc#newcode144 > ...
3 years, 6 months ago (2017-05-30 17:17:40 UTC) #18
bokan
On 2017/05/30 17:17:40, tdresser wrote: > On 2017/05/30 16:05:29, bokan wrote: > > > https://codereview.chromium.org/2907053004/diff/20001/ui/events/blink/input_handler_proxy.cc ...
3 years, 6 months ago (2017-05-30 17:58:19 UTC) #19
sahel
https://codereview.chromium.org/2907053004/diff/1/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2907053004/diff/1/cc/trees/layer_tree_host_impl.cc#newcode3296 cc/trees/layer_tree_host_impl.cc:3296: ScrollNode* viewport_scroll_node = OuterViewportScrollNode(); On 2017/05/30 15:07:06, bokan wrote: ...
3 years, 6 months ago (2017-05-31 17:50:00 UTC) #35
sahel
After landing https://codereview.chromium.org/2924953002/ , this cl now passes all the trybots.
3 years, 6 months ago (2017-06-16 19:52:58 UTC) #54
bokan
Nit in Commit Message: "This cl uses delta_hints while calculating the scroll chain. If the ...
3 years, 6 months ago (2017-06-19 21:43:17 UTC) #55
sahel
https://codereview.chromium.org/2907053004/diff/220001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2907053004/diff/220001/cc/trees/layer_tree_host_impl.cc#newcode3372 cc/trees/layer_tree_host_impl.cc:3372: if (scroll_node->scrolls_inner_viewport) { On 2017/06/19 21:43:17, bokan wrote: > ...
3 years, 6 months ago (2017-06-22 16:34:22 UTC) #63
bokan
https://codereview.chromium.org/2907053004/diff/220001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2907053004/diff/220001/cc/trees/layer_tree_host_impl.cc#newcode3372 cc/trees/layer_tree_host_impl.cc:3372: if (scroll_node->scrolls_inner_viewport) { On 2017/06/22 16:34:17, sahel wrote: > ...
3 years, 6 months ago (2017-06-22 21:44:38 UTC) #64
sahel
https://codereview.chromium.org/2907053004/diff/220001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2907053004/diff/220001/cc/trees/layer_tree_host_impl.cc#newcode3372 cc/trees/layer_tree_host_impl.cc:3372: if (scroll_node->scrolls_inner_viewport) { On 2017/06/22 21:44:37, bokan wrote: > ...
3 years, 6 months ago (2017-06-23 18:22:04 UTC) #73
bokan
lgtm % small comment https://codereview.chromium.org/2907053004/diff/220001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2907053004/diff/220001/cc/trees/layer_tree_host_impl.cc#newcode3372 cc/trees/layer_tree_host_impl.cc:3372: if (scroll_node->scrolls_inner_viewport) { On 2017/06/23 ...
3 years, 6 months ago (2017-06-23 18:56:44 UTC) #74
sahel
weiliangc@chromium.org: Please review changes in cc/*
3 years, 6 months ago (2017-06-23 19:03:56 UTC) #77
tdresser
https://codereview.chromium.org/2907053004/diff/330001/cc/input/scroll_state_data.h File cc/input/scroll_state_data.h (right): https://codereview.chromium.org/2907053004/diff/330001/cc/input/scroll_state_data.h#newcode25 cc/input/scroll_state_data.h:25: // Scroll delta hint in viewport coordinates (DIP). Maybe ...
3 years, 6 months ago (2017-06-23 19:14:12 UTC) #78
tdresser
On 2017/06/23 19:14:12, tdresser wrote: > https://codereview.chromium.org/2907053004/diff/330001/cc/input/scroll_state_data.h > File cc/input/scroll_state_data.h (right): > > https://codereview.chromium.org/2907053004/diff/330001/cc/input/scroll_state_data.h#newcode25 > ...
3 years, 6 months ago (2017-06-23 19:14:26 UTC) #79
sahel
https://codereview.chromium.org/2907053004/diff/310001/cc/trees/layer_tree_host_impl.h File cc/trees/layer_tree_host_impl.h (right): https://codereview.chromium.org/2907053004/diff/310001/cc/trees/layer_tree_host_impl.h#newcode637 cc/trees/layer_tree_host_impl.h:637: // local delta, respectively. On 2017/06/23 18:56:44, bokan wrote: ...
3 years, 6 months ago (2017-06-23 20:01:00 UTC) #80
tdresser
https://codereview.chromium.org/2907053004/diff/330001/third_party/WebKit/Source/core/input/ScrollManager.cpp File third_party/WebKit/Source/core/input/ScrollManager.cpp (right): https://codereview.chromium.org/2907053004/diff/330001/third_party/WebKit/Source/core/input/ScrollManager.cpp#newcode131 third_party/WebKit/Source/core/input/ScrollManager.cpp:131: : scroll_state.deltaY(); On 2017/06/23 20:01:00, sahel wrote: > On ...
3 years, 6 months ago (2017-06-23 20:16:55 UTC) #81
sahel
dpranke@chromium.org: Please review changes in third_party/WebKit/public/platform/WebGestureEvent.h
3 years, 6 months ago (2017-06-23 20:45:55 UTC) #85
Dirk Pranke
On 2017/06/23 20:45:55, sahel wrote: > mailto:dpranke@chromium.org: Please review changes in > > third_party/WebKit/public/platform/WebGestureEvent.h I'm ...
3 years, 6 months ago (2017-06-23 20:54:36 UTC) #86
sahel
On 2017/06/23 20:54:36, Dirk Pranke wrote: > On 2017/06/23 20:45:55, sahel wrote: > > mailto:dpranke@chromium.org: ...
3 years, 5 months ago (2017-06-26 14:59:01 UTC) #90
weiliangc
cc/ LGTM https://codereview.chromium.org/2907053004/diff/350001/cc/trees/layer_tree_host_impl.cc File cc/trees/layer_tree_host_impl.cc (right): https://codereview.chromium.org/2907053004/diff/350001/cc/trees/layer_tree_host_impl.cc#newcode3388 cc/trees/layer_tree_host_impl.cc:3388: gfx::Vector2dF delta_to_scroll; nit: DCHECK scroll_node not nullptr.
3 years, 5 months ago (2017-06-26 18:55:09 UTC) #91
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2907053004/390001
3 years, 5 months ago (2017-06-26 19:20:06 UTC) #98
commit-bot: I haz the power
Committed patchset #16 (id:390001) as https://chromium.googlesource.com/chromium/src/+/60b41cdfe22237cb667050017349375ca9272ccf
3 years, 5 months ago (2017-06-26 21:34:36 UTC) #101
sahel
3 years, 5 months ago (2017-06-26 21:38:07 UTC) #102
Message was sent while issue was closed.
https://codereview.chromium.org/2907053004/diff/350001/cc/trees/layer_tree_ho...
File cc/trees/layer_tree_host_impl.cc (right):

https://codereview.chromium.org/2907053004/diff/350001/cc/trees/layer_tree_ho...
cc/trees/layer_tree_host_impl.cc:3388: gfx::Vector2dF delta_to_scroll;
On 2017/06/26 18:55:09, weiliangc wrote:
> nit: DCHECK scroll_node not nullptr.

Done.

Powered by Google App Engine
This is Rietveld 408576698