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

Issue 713413002: Hook ScrollElasticityController to InputHandlerProxy (Closed)

Created:
6 years, 1 month ago by ccameron
Modified:
6 years, 1 month ago
CC:
android-webview-reviews_chromium.org, cc-bugs_chromium.org, chromium-reviews, darin-cc_chromium.org, jam, jdduke+watch_chromium.org, mkwst+moarreviews-renderer_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Hook ScrollElasticityController to InputHandlerProxy Move ScrollElasticityControllerClient to ScrollElasticityHelper in cc, where it interfaces with LayerTreeHostImpl. Rename the ScrollElasticityController to InputScrollElasticityController. Send events handled on the impl thread to the InputScrollElasticityController, to update the scroll animation state. Do this asynchronously, since it will need to be asynchronous on the main thread for non-impl-thread-handled events. (Note that it may be that we will send events to the elasticity system after they bounce back to the browser -- this is the more conservative version, and may be changed as main thread events are added). With this in place, the InputScrollElasticityController produces the right over-scroll offsets in ScrollElasticityHelper most of the time (according to printfs). The next step will be to add a layer transformed by these offsets. BUG=133097 Committed: https://crrev.com/4163cc35e206688f75d30a5c6a9a77a93e6d0600 Cr-Commit-Position: refs/heads/master@{#304055}

Patch Set 1 #

Patch Set 2 : Add missed files #

Total comments: 11

Patch Set 3 : Incorporate review feedback #

Total comments: 10

Patch Set 4 : Incorporate review feedback #

Total comments: 10

Patch Set 5 : Fix license #

Patch Set 6 : Incorporate review feedback #

Patch Set 7 : Incorporate review feedback #

Total comments: 2

Patch Set 8 : Incorporate review feedback #

Patch Set 9 : Reverse dtor order #

Unified diffs Side-by-side diffs Delta from patch set Stats (+385 lines, -123 lines) Patch
M android_webview/tools/third_party_files_whitelist.txt View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M cc/BUILD.gn View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M cc/cc.gyp View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M cc/input/input_handler.h View 1 2 3 4 5 2 chunks +3 lines, -0 lines 0 comments Download
A cc/input/scroll_elasticity_helper.h View 1 2 3 4 5 1 chunk +84 lines, -0 lines 0 comments Download
A cc/input/scroll_elasticity_helper.cc View 1 2 3 4 5 1 chunk +101 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.h View 1 2 3 4 5 3 chunks +6 lines, -0 lines 0 comments Download
M cc/trees/layer_tree_host_impl.cc View 1 2 3 4 5 3 chunks +9 lines, -0 lines 0 comments Download
M content/renderer/input/input_handler_proxy.h View 2 chunks +4 lines, -0 lines 0 comments Download
M content/renderer/input/input_handler_proxy.cc View 1 2 3 4 5 6 7 8 4 chunks +72 lines, -42 lines 0 comments Download
M content/renderer/input/input_handler_proxy_unittest.cc View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M content/renderer/input/input_scroll_elasticity_controller.h View 1 2 3 4 5 6 7 5 chunks +21 lines, -37 lines 0 comments Download
M content/renderer/input/input_scroll_elasticity_controller.cc View 1 2 3 4 5 6 7 17 chunks +75 lines, -44 lines 0 comments Download

Messages

Total messages: 31 (8 generated)
ccameron
This is filling out the steps in the document: https://docs.google.com/document/d/1ePfdAkOKh7DMc7UBOyyXrkmf_25e-d8zTJktAGHtcTw/edit?usp=sharing And a more clean version ...
6 years, 1 month ago (2014-11-12 00:08:39 UTC) #2
jdduke (slow)
Is there a tracking bug I can follow that has this all wired up (needn't ...
6 years, 1 month ago (2014-11-12 00:55:34 UTC) #3
ccameron
The most complete version is this one: https://codereview.chromium.org/704463003/ But it's very hacky (grabs some layers ...
6 years, 1 month ago (2014-11-12 02:08:25 UTC) #4
aelias_OOO_until_Jul13
https://codereview.chromium.org/713413002/diff/20001/content/renderer/input/input_handler_proxy.cc File content/renderer/input/input_handler_proxy.cc (right): https://codereview.chromium.org/713413002/diff/20001/content/renderer/input/input_handler_proxy.cc#newcode360 content/renderer/input/input_handler_proxy.cc:360: base::MessageLoop::current()->PostTask( On 2014/11/12 at 02:08:24, ccameron1 wrote: > On ...
6 years, 1 month ago (2014-11-12 02:27:41 UTC) #5
jdduke (slow)
https://codereview.chromium.org/713413002/diff/20001/content/renderer/input/input_handler_proxy.cc File content/renderer/input/input_handler_proxy.cc (right): https://codereview.chromium.org/713413002/diff/20001/content/renderer/input/input_handler_proxy.cc#newcode354 content/renderer/input/input_handler_proxy.cc:354: // thread, the event and its disposition will be ...
6 years, 1 month ago (2014-11-12 02:32:24 UTC) #6
jdduke (slow)
https://codereview.chromium.org/713413002/diff/20001/content/renderer/input/input_scroll_elasticity_controller.h File content/renderer/input/input_scroll_elasticity_controller.h (right): https://codereview.chromium.org/713413002/diff/20001/content/renderer/input/input_scroll_elasticity_controller.h#newcode50 content/renderer/input/input_scroll_elasticity_controller.h:50: virtual ~InputScrollElasticityController(); On 2014/11/12 02:32:24, jdduke wrote: > Nit: ...
6 years, 1 month ago (2014-11-12 02:45:59 UTC) #7
ccameron
https://codereview.chromium.org/713413002/diff/20001/content/renderer/input/input_handler_proxy.cc File content/renderer/input/input_handler_proxy.cc (right): https://codereview.chromium.org/713413002/diff/20001/content/renderer/input/input_handler_proxy.cc#newcode354 content/renderer/input/input_handler_proxy.cc:354: // thread, the event and its disposition will be ...
6 years, 1 month ago (2014-11-12 08:15:30 UTC) #8
jdduke (slow)
The content/renderer/input changes look fine, I'll defer to aelias@ and enne@ for further review. https://codereview.chromium.org/713413002/diff/40001/cc/input/scroll_elasticity_controller.h ...
6 years, 1 month ago (2014-11-12 20:13:38 UTC) #9
aelias_OOO_until_Jul13
https://codereview.chromium.org/713413002/diff/40001/cc/input/input_handler.h File cc/input/input_handler.h (right): https://codereview.chromium.org/713413002/diff/40001/cc/input/input_handler.h#newcode154 cc/input/input_handler.h:154: // Retrieve the client to interface with a ScrollElasticityController. ...
6 years, 1 month ago (2014-11-12 22:18:00 UTC) #10
ccameron
Thanks for the feedback. You're right about the structure being a bit strained due to ...
6 years, 1 month ago (2014-11-13 00:28:37 UTC) #12
aelias_OOO_until_Jul13
OK, thanks for the explanations. Please update the patch description with the new names. https://codereview.chromium.org/713413002/diff/80001/cc/input/scroll_elasticity_helper.cc ...
6 years, 1 month ago (2014-11-13 02:11:03 UTC) #13
ccameron
Thanks! https://codereview.chromium.org/713413002/diff/80001/cc/input/scroll_elasticity_helper.cc File cc/input/scroll_elasticity_helper.cc (right): https://codereview.chromium.org/713413002/diff/80001/cc/input/scroll_elasticity_helper.cc#newcode39 cc/input/scroll_elasticity_helper.cc:39: LayerImpl* layer = layer_tree_->InnerViewportScrollLayer(); On 2014/11/13 02:11:03, aelias ...
6 years, 1 month ago (2014-11-13 02:45:57 UTC) #14
aelias_OOO_until_Jul13
lgtm
6 years, 1 month ago (2014-11-13 02:57:34 UTC) #15
ccameron
Adding boliu to stamp the license change.
6 years, 1 month ago (2014-11-13 02:59:45 UTC) #17
jdduke (slow)
https://codereview.chromium.org/713413002/diff/140001/content/renderer/input/input_handler_proxy.cc File content/renderer/input/input_handler_proxy.cc (right): https://codereview.chromium.org/713413002/diff/140001/content/renderer/input/input_handler_proxy.cc#newcode180 content/renderer/input/input_handler_proxy.cc:180: if (scroll_elasticity_controller_) Can we just reset the variable and ...
6 years, 1 month ago (2014-11-13 03:03:09 UTC) #18
boliu
lgtm
6 years, 1 month ago (2014-11-13 03:03:15 UTC) #19
ccameron
https://codereview.chromium.org/713413002/diff/140001/content/renderer/input/input_handler_proxy.cc File content/renderer/input/input_handler_proxy.cc (right): https://codereview.chromium.org/713413002/diff/140001/content/renderer/input/input_handler_proxy.cc#newcode180 content/renderer/input/input_handler_proxy.cc:180: if (scroll_elasticity_controller_) On 2014/11/13 03:03:09, jdduke wrote: > Can ...
6 years, 1 month ago (2014-11-13 03:08:09 UTC) #22
jdduke (slow)
On 2014/11/13 03:08:09, ccameron1 wrote: > https://codereview.chromium.org/713413002/diff/140001/content/renderer/input/input_handler_proxy.cc > File content/renderer/input/input_handler_proxy.cc (right): > > https://codereview.chromium.org/713413002/diff/140001/content/renderer/input/input_handler_proxy.cc#newcode180 > ...
6 years, 1 month ago (2014-11-13 03:14:02 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/713413002/160001
6 years, 1 month ago (2014-11-13 07:30:20 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel/builds/10162)
6 years, 1 month ago (2014-11-13 09:20:27 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/713413002/180001
6 years, 1 month ago (2014-11-13 17:58:41 UTC) #29
commit-bot: I haz the power
Committed patchset #9 (id:180001)
6 years, 1 month ago (2014-11-13 19:06:50 UTC) #30
commit-bot: I haz the power
6 years, 1 month ago (2014-11-13 19:07:32 UTC) #31
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/4163cc35e206688f75d30a5c6a9a77a93e6d0600
Cr-Commit-Position: refs/heads/master@{#304055}

Powered by Google App Engine
This is Rietveld 408576698