Allow renderer compositor message loop to be set by content embedder

Accomplished by adding a override method to ContentRendererClient
to return a MessageLoop, which if not null, is used as the renderer
compositor thread. In the process, make the ownership of the
compositor thread into RenderThreadImpl and rename CompositorThread
to InputHandlerManager.

Added a thread merge command line switch to control this in
android_webview.

BUG=179436


Review URL: https://chromiumcodereview.appspot.com/12383056

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186682 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 4ebcb083..1efc33c 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -20,7 +20,7 @@
 #include "content/common/swapped_out_messages.h"
 #include "content/common/view_messages.h"
 #include "content/public/common/content_switches.h"
-#include "content/renderer/gpu/compositor_thread.h"
+#include "content/renderer/gpu/input_handler_manager.h"
 #include "content/renderer/gpu/render_widget_compositor.h"
 #include "content/renderer/render_process.h"
 #include "content/renderer/render_thread_impl.h"
@@ -1388,7 +1388,7 @@
 void RenderWidget::willBeginCompositorFrame() {
   TRACE_EVENT0("gpu", "RenderWidget::willBeginCompositorFrame");
 
-  DCHECK(RenderThreadImpl::current()->compositor_thread());
+  DCHECK(RenderThreadImpl::current()->compositor_message_loop_proxy());
 
   // The following two can result in further layout and possibly
   // enable GPU acceleration so they need to be called before any painting
@@ -1447,7 +1447,7 @@
 
 void RenderWidget::scheduleComposite() {
   TRACE_EVENT0("gpu", "RenderWidget::scheduleComposite");
-  if (RenderThreadImpl::current()->compositor_thread() &&
+  if (RenderThreadImpl::current()->compositor_message_loop_proxy() &&
       compositor_) {
     compositor_->setNeedsRedraw();
   } else {