Chromium Code Reviews| Index: content/renderer/render_thread_impl.cc |
| diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
| index 202c5f9302e72873b0d219235c8595f64b5e789d..922b022e2871e0851c52cb41492bba3bba8b73f1 100644 |
| --- a/content/renderer/render_thread_impl.cc |
| +++ b/content/renderer/render_thread_impl.cc |
| @@ -1177,9 +1177,11 @@ void RenderThreadImpl::InitializeCompositorThread() { |
| #if defined(OS_ANDROID) |
| SynchronousCompositorFactory* sync_compositor_factory = |
| SynchronousCompositorFactory::GetInstance(); |
| + const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); |
| bool using_ipc_sync_compositing = |
| - base::CommandLine::ForCurrentProcess()->HasSwitch( |
| - switches::kIPCSyncCompositing); |
| + cmd_line->HasSwitch(switches::kIPCSyncCompositing); |
| + bool sync_input_for_sync_compositing = |
| + cmd_line->HasSwitch(switches::kSyncInputForSyncCompositor); |
|
no sievers
2016/03/10 20:37:06
nit: DCHECK_IMPLIES(sync_input_for_sync_compositin
boliu
2016/03/10 21:04:28
Done. DCHECK_IMPLIES isn't a thing anymore, so it'
|
| DCHECK(!sync_compositor_factory || !using_ipc_sync_compositing); |
| if (sync_compositor_factory) { |
| @@ -1201,16 +1203,23 @@ void RenderThreadImpl::InitializeCompositorThread() { |
| false)); |
| } |
| - InputHandlerManagerClient* input_handler_manager_client = NULL; |
| + InputHandlerManagerClient* input_handler_manager_client = nullptr; |
| + SynchronousInputHandlerProxyClient* synchronous_input_handler_proxy_client = |
| + nullptr; |
| #if defined(OS_ANDROID) |
| if (using_ipc_sync_compositing) { |
| sync_compositor_message_filter_ = |
| new SynchronousCompositorFilter(compositor_task_runner_); |
| AddFilter(sync_compositor_message_filter_.get()); |
| - input_handler_manager_client = sync_compositor_message_filter_.get(); |
| + if (sync_input_for_sync_compositing) |
| + input_handler_manager_client = sync_compositor_message_filter_.get(); |
| + synchronous_input_handler_proxy_client = |
| + sync_compositor_message_filter_.get(); |
| } else if (sync_compositor_factory) { |
| input_handler_manager_client = |
| sync_compositor_factory->GetInputHandlerManagerClient(); |
| + synchronous_input_handler_proxy_client = |
| + sync_compositor_factory->GetSynchronousInputHandlerProxyClient(); |
| } |
| #endif |
| if (!input_handler_manager_client) { |
| @@ -1223,7 +1232,7 @@ void RenderThreadImpl::InitializeCompositorThread() { |
| } |
| input_handler_manager_.reset(new InputHandlerManager( |
| compositor_task_runner_, input_handler_manager_client, |
| - renderer_scheduler_.get())); |
| + synchronous_input_handler_proxy_client, renderer_scheduler_.get())); |
| } |
| void RenderThreadImpl::EnsureWebKitInitialized() { |