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

Unified Diff: content/renderer/render_view_impl.cc

Issue 2649573003: Revert of Move compositor InputHandler from RenderViewImpl to RenderWidget. (Closed)
Patch Set: Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/renderer/render_widget.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_view_impl.cc
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index cc597bd1005feb03373f86ae3d7fa3b5266b330f..597f38f48b7177100429197dde7ff25061793c0f 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -570,7 +570,7 @@
#endif
enumeration_completion_id_(0),
session_storage_namespace_id_(params.session_storage_namespace_id),
- weak_ptr_factory_(this) {
+ has_added_input_handler_(false) {
GetWidget()->set_owner_delegate(this);
}
@@ -1836,18 +1836,22 @@
}
blink::WebLayerTreeView* RenderViewImpl::initializeLayerTreeView() {
- // TODO(!wjmaclean): We should be able to just remove this function, and
- // expect the RenderWidget version of the function to be called instead.
- // However, we have a diamond inheritance pattern going on:
- // WebWidgetClient
- // | |
- // RenderWidget WebViewClient
- // | |
- // RenderViewImpl
- //
- // and this seems to prefer calling the empty version in WebWidgetClient
- // or WebViewClient over the non-empty one in RenderWidget.
- return RenderWidget::initializeLayerTreeView();
+ blink::WebLayerTreeView* ltv = RenderWidget::initializeLayerTreeView();
+ RenderWidgetCompositor* rwc = compositor();
+ if (!rwc)
+ return ltv;
+
+ RenderThreadImpl* render_thread = RenderThreadImpl::current();
+ // render_thread may be NULL in tests.
+ InputHandlerManager* input_handler_manager =
+ render_thread ? render_thread->input_handler_manager() : NULL;
+ if (input_handler_manager) {
+ input_handler_manager->AddInputHandler(
+ GetRoutingID(), rwc->GetInputHandler(), AsWeakPtr(),
+ webkit_preferences_.enable_scroll_animator);
+ has_added_input_handler_ = true;
+ }
+ return ltv;
}
void RenderViewImpl::closeWidgetSoon() {
@@ -2469,9 +2473,9 @@
bool is_main_frame) {
// Introduce a short delay so that the user can notice the content.
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
- FROM_HERE, base::Bind(&RenderViewImpl::LaunchAndroidContentIntent,
- weak_ptr_factory_.GetWeakPtr(), intent,
- expected_content_intent_id_, is_main_frame),
+ FROM_HERE,
+ base::Bind(&RenderViewImpl::LaunchAndroidContentIntent, AsWeakPtr(),
+ intent, expected_content_intent_id_, is_main_frame),
base::TimeDelta::FromMilliseconds(kContentIntentDelayMilliseconds));
}
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/renderer/render_widget.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698