| Index: android_webview/browser/in_process_renderer/in_process_view_renderer.cc
|
| diff --git a/android_webview/browser/in_process_renderer/in_process_view_renderer.cc b/android_webview/browser/in_process_renderer/in_process_view_renderer.cc
|
| index 74acde0eed8615d77dbf2b3a978f7ca82afa824d..69bfa8ee1c481c51c6028337816398f82080e13c 100644
|
| --- a/android_webview/browser/in_process_renderer/in_process_view_renderer.cc
|
| +++ b/android_webview/browser/in_process_renderer/in_process_view_renderer.cc
|
| @@ -110,6 +110,7 @@ InProcessViewRenderer::InProcessViewRenderer(
|
| JavaHelper* java_helper)
|
| : client_(client),
|
| java_helper_(java_helper),
|
| + content_view_core_(NULL),
|
| web_contents_(NULL),
|
| compositor_(NULL),
|
| view_visible_(false),
|
| @@ -160,9 +161,19 @@ void InProcessViewRenderer::BindSynchronousCompositor(
|
| client_->RequestProcessMode();
|
| }
|
|
|
| +void InProcessViewRenderer::BindSynchronousInputEventFilter(
|
| + content::SynchronousInputEventFilter* input_event_filter) {
|
| + input_event_filter_ = input_event_filter;
|
| + if (content_view_core_)
|
| + content_view_core_->SetInputEventFilter(input_event_filter_);
|
| +}
|
| +
|
| void InProcessViewRenderer::SetContents(
|
| content::ContentViewCore* content_view_core) {
|
| // First remove association from the prior ContentViewCore / WebContents.
|
| + if (content_view_core_)
|
| + content_view_core_->SetInputEventFilter(NULL);
|
| +
|
| if (web_contents_) {
|
| web_contents_->SetUserData(kUserDataKey, NULL);
|
| DCHECK(!web_contents_); // WebContentsGone should have been called.
|
| @@ -171,6 +182,8 @@ void InProcessViewRenderer::SetContents(
|
| if (!content_view_core)
|
| return;
|
|
|
| + content_view_core_->SetInputEventFilter(input_event_filter_);
|
| +
|
| web_contents_ = content_view_core->GetWebContents();
|
| web_contents_->SetUserData(kUserDataKey, new UserData(this));
|
| }
|
|
|