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

Issue 1620053002: sync compositor: Merge input path with chrome (Closed)

Created:
4 years, 11 months ago by boliu
Modified:
4 years, 9 months ago
CC:
chromium-reviews, darin-cc_chromium.org, jam, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-content_chromium.org, nona+watch_chromium.org, shuchen+watch_chromium.org, James Su, yusukes+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

sync compositor: Merge input path with chrome Use chrome's async input delivery path in Android WebView. See bug for potential incompatibility risk. Existing code path is not removed in case compatibility is an issue. Refactor out ui::SynchronousInputHandlerProxy parts from InputHandlerManagerClient into a separate interface so that sync compositor can use SynchronousInputHandlerProxy even without routing input synchronously. Then just stop filtering input events in sync compositor, hook up overscroll, and everything just works. Tests: testNoSpuriousOverScrolls requires synchronous input to maintain the property that a single scroll call happens. Asynchronously the test is not valid AwContents.zoomIn is no longer synchronous which breaks testPinchZoomUpdatesScrollRangeSynchronously. Can fix this independently if this becomes a problem later. BUG=545628 Committed: https://crrev.com/de5b75b1ccd0ef7f478318d805b3ba1c8ebf7130 Cr-Commit-Position: refs/heads/master@{#380563}

Patch Set 1 #

Patch Set 2 : wip #

Patch Set 3 : switch #

Patch Set 4 : tests #

Total comments: 8

Patch Set 5 : review #

Total comments: 2

Patch Set 6 : reverse switch #

Patch Set 7 : rebase #

Total comments: 2

Patch Set 8 : review #

Unified diffs Side-by-side diffs Delta from patch set Stats (+188 lines, -131 lines) Patch
M android_webview/javatests/src/org/chromium/android_webview/test/AndroidScrollIntegrationTest.java View 1 2 3 7 chunks +10 lines, -41 lines 0 comments Download
M android_webview/javatests/src/org/chromium/android_webview/test/util/AwTestTouchUtils.java View 1 2 3 2 chunks +1 line, -8 lines 0 comments Download
M content/browser/android/in_process/synchronous_compositor_factory_impl.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/android/in_process/synchronous_compositor_factory_impl.cc View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M content/browser/android/in_process/synchronous_compositor_impl.h View 1 2 3 4 2 chunks +2 lines, -1 line 0 comments Download
M content/browser/android/in_process/synchronous_compositor_impl.cc View 1 2 3 4 5 2 chunks +8 lines, -1 line 0 comments Download
M content/browser/android/in_process/synchronous_input_event_filter.h View 1 2 3 4 3 chunks +11 lines, -5 lines 0 comments Download
M content/browser/android/in_process/synchronous_input_event_filter.cc View 1 2 3 4 3 chunks +19 lines, -15 lines 0 comments Download
M content/browser/android/synchronous_compositor_base.h View 1 2 3 2 chunks +2 lines, -0 lines 0 comments Download
M content/browser/android/synchronous_compositor_base.cc View 1 2 3 4 5 6 1 chunk +3 lines, -1 line 0 comments Download
M content/browser/android/synchronous_compositor_host.h View 1 2 3 3 chunks +3 lines, -0 lines 0 comments Download
M content/browser/android/synchronous_compositor_host.cc View 1 2 3 5 chunks +13 lines, -4 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.cc View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M content/public/common/content_switches.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M content/public/common/content_switches.cc View 1 2 3 4 5 6 1 chunk +6 lines, -0 lines 0 comments Download
M content/renderer/android/synchronous_compositor_factory.h View 1 2 3 4 2 chunks +3 lines, -0 lines 0 comments Download
M content/renderer/android/synchronous_compositor_filter.h View 1 2 3 4 3 chunks +14 lines, -8 lines 0 comments Download
M content/renderer/android/synchronous_compositor_filter.cc View 1 2 chunks +26 lines, -22 lines 0 comments Download
M content/renderer/input/input_event_filter.h View 1 1 chunk +1 line, -4 lines 0 comments Download
M content/renderer/input/input_event_filter.cc View 1 2 chunks +1 line, -5 lines 0 comments Download
M content/renderer/input/input_event_filter_unittest.cc View 1 2 4 chunks +4 lines, -4 lines 0 comments Download
M content/renderer/input/input_handler_manager.h View 1 2 3 4 3 chunks +7 lines, -3 lines 0 comments Download
M content/renderer/input/input_handler_manager.cc View 1 2 3 4 3 chunks +11 lines, -1 line 0 comments Download
M content/renderer/input/input_handler_manager_client.h View 1 2 3 4 2 chunks +17 lines, -3 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 4 5 6 7 3 chunks +15 lines, -5 lines 0 comments Download

Messages

Total messages: 40 (17 generated)
boliu
PTAL tdresser: content/renderer/input sievers: everything else
4 years, 9 months ago (2016-02-29 15:55:46 UTC) #6
tdresser
aelias@ would be a better reviewer for this change - I'm not very familiar with ...
4 years, 9 months ago (2016-02-29 16:42:49 UTC) #8
boliu
No new patch set. On 2016/02/29 16:42:49, tdresser wrote: > aelias@ would be a better ...
4 years, 9 months ago (2016-02-29 18:58:53 UTC) #9
tdresser
Thanks for the clarification. I'm not thrilled with SynchronousInputHandlerProxy, but it's probably fine to leave ...
4 years, 9 months ago (2016-02-29 19:10:25 UTC) #10
boliu
New patch set up https://codereview.chromium.org/1620053002/diff/40002/content/browser/android/in_process/synchronous_compositor_impl.cc File content/browser/android/in_process/synchronous_compositor_impl.cc (right): https://codereview.chromium.org/1620053002/diff/40002/content/browser/android/in_process/synchronous_compositor_impl.cc#newcode308 content/browser/android/in_process/synchronous_compositor_impl.cc:308: // Intentional No-op. On 2016/02/29 ...
4 years, 9 months ago (2016-02-29 21:04:40 UTC) #12
tdresser
On 2016/02/29 21:04:40, boliu wrote: > New patch set up > > https://codereview.chromium.org/1620053002/diff/40002/content/browser/android/in_process/synchronous_compositor_impl.cc > File ...
4 years, 9 months ago (2016-03-03 16:15:57 UTC) #13
aelias_OOO_until_Jul13
lgtm I'm mostly convinced by Bo's argument that synchronous input isn't needed because only the ...
4 years, 9 months ago (2016-03-04 07:16:29 UTC) #14
tdresser
LGTM https://codereview.chromium.org/1620053002/diff/90001/content/browser/android/in_process/synchronous_compositor_impl.cc File content/browser/android/in_process/synchronous_compositor_impl.cc (right): https://codereview.chromium.org/1620053002/diff/90001/content/browser/android/in_process/synchronous_compositor_impl.cc#newcode308 content/browser/android/in_process/synchronous_compositor_impl.cc:308: NOTREACHED(); // In-process path does not use async ...
4 years, 9 months ago (2016-03-04 19:42:25 UTC) #15
boliu
(Before sievers looks..) also reversed the switch. The async path is still default, but can ...
4 years, 9 months ago (2016-03-05 01:28:46 UTC) #16
boliu
sievers: ping
4 years, 9 months ago (2016-03-08 16:01:40 UTC) #17
boliu
On 2016/03/08 16:01:40, boliu wrote: > sievers: ping ping x2
4 years, 9 months ago (2016-03-09 19:29:25 UTC) #18
no sievers
lgtm https://codereview.chromium.org/1620053002/diff/130001/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/1620053002/diff/130001/content/renderer/render_thread_impl.cc#newcode1184 content/renderer/render_thread_impl.cc:1184: cmd_line->HasSwitch(switches::kSyncInputForSyncCompositor); nit: DCHECK_IMPLIES(sync_input_for_sync_compositing, using_ipc_sync_compositing);
4 years, 9 months ago (2016-03-10 20:37:06 UTC) #19
boliu
https://codereview.chromium.org/1620053002/diff/130001/content/renderer/render_thread_impl.cc File content/renderer/render_thread_impl.cc (right): https://codereview.chromium.org/1620053002/diff/130001/content/renderer/render_thread_impl.cc#newcode1184 content/renderer/render_thread_impl.cc:1184: cmd_line->HasSwitch(switches::kSyncInputForSyncCompositor); On 2016/03/10 20:37:06, sievers wrote: > nit: DCHECK_IMPLIES(sync_input_for_sync_compositing, ...
4 years, 9 months ago (2016-03-10 21:04:28 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1620053002/150001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1620053002/150001
4 years, 9 months ago (2016-03-10 21:05:28 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/128911)
4 years, 9 months ago (2016-03-10 21:41:16 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1620053002/150001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1620053002/150001
4 years, 9 months ago (2016-03-10 22:44:52 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/129044)
4 years, 9 months ago (2016-03-10 23:33:28 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1620053002/150001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1620053002/150001
4 years, 9 months ago (2016-03-10 23:38:22 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/129129)
4 years, 9 months ago (2016-03-11 00:13:26 UTC) #33
boliu
A lot of purple on main waterfall and these failing trybots. Looks like we are ...
4 years, 9 months ago (2016-03-11 00:14:46 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1620053002/150001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1620053002/150001
4 years, 9 months ago (2016-03-11 05:19:17 UTC) #36
commit-bot: I haz the power
Committed patchset #8 (id:150001)
4 years, 9 months ago (2016-03-11 07:02:23 UTC) #38
commit-bot: I haz the power
4 years, 9 months ago (2016-03-11 07:03:25 UTC) #40
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/de5b75b1ccd0ef7f478318d805b3ba1c8ebf7130
Cr-Commit-Position: refs/heads/master@{#380563}

Powered by Google App Engine
This is Rietveld 408576698