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

Side by Side Diff: android_webview/browser/in_process_renderer/in_process_renderer_client.cc

Issue 15920002: Fix WebView compositor input handling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make InputEventAckState public Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "android_webview/browser/in_process_renderer/in_process_renderer_client .h" 5 #include "android_webview/browser/in_process_renderer/in_process_renderer_client .h"
6 6
7 #include "android_webview/browser/in_process_renderer/in_process_view_renderer.h " 7 #include "android_webview/browser/in_process_renderer/in_process_view_renderer.h "
8 #include "content/public/browser/browser_thread.h" 8 #include "content/public/browser/browser_thread.h"
9 #include "content/public/browser/render_process_host.h" 9 #include "content/public/browser/render_process_host.h"
10 10
(...skipping 11 matching lines...) Expand all
22 } 22 }
23 23
24 int id = it.GetCurrentValue()->GetID(); 24 int id = it.GetCurrentValue()->GetID();
25 it.Advance(); 25 it.Advance();
26 DCHECK(it.IsAtEnd()); // Not multiprocess compatible. 26 DCHECK(it.IsAtEnd()); // Not multiprocess compatible.
27 return id; 27 return id;
28 } 28 }
29 29
30 } 30 }
31 31
32 InProcessRendererClient::InProcessRendererClient()
33 : input_event_handler_(NULL) {
34 }
35
36 InProcessRendererClient::~InProcessRendererClient() {
37 }
38
32 MessageLoop* InProcessRendererClient::OverrideCompositorMessageLoop() const { 39 MessageLoop* InProcessRendererClient::OverrideCompositorMessageLoop() const {
33 MessageLoop* rv = content::BrowserThread::UnsafeGetMessageLoopForThread( 40 MessageLoop* rv = content::BrowserThread::UnsafeGetMessageLoopForThread(
34 content::BrowserThread::UI); 41 content::BrowserThread::UI);
35 DCHECK(rv); 42 DCHECK(rv);
36 return rv; 43 return rv;
37 } 44 }
38 45
39 void InProcessRendererClient::DidCreateSynchronousCompositor( 46 void InProcessRendererClient::DidCreateSynchronousCompositor(
40 int render_view_id, 47 int render_view_id,
41 content::SynchronousCompositor* compositor) { 48 content::SynchronousCompositor* compositor) {
42 InProcessViewRenderer* view_renderer = 49 InProcessViewRenderer* view_renderer =
43 InProcessViewRenderer::FromId(GetInProcessRendererId(), render_view_id); 50 InProcessViewRenderer::FromId(GetInProcessRendererId(), render_view_id);
44 if (view_renderer) 51 if (view_renderer) {
45 view_renderer->BindSynchronousCompositor(compositor); 52 view_renderer->BindSynchronousCompositor(compositor);
53 view_renderer->BindSynchronousInputEventHandler(input_event_handler_);
54 }
46 } 55 }
47 56
48 bool InProcessRendererClient::ShouldCreateCompositorInputHandler() const { 57 void InProcessRendererClient::DidCreateSynchronousInputEventHandler(
49 // Compositor input handling will be performed by the renderer host 58 content::SynchronousInputEventHandler* input_event_handler) {
50 // when UI and compositor threads are merged, so we disable client compositor 59 DCHECK(!input_event_handler_ || !input_event_handler);
51 // input handling in this case. 60 input_event_handler_ = input_event_handler;
52 return false;
53 } 61 }
54 62
55 } // namespace android_webview 63 } // namespace android_webview
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698