Index: content/renderer/gpu/compositor_thread.cc |
diff --git a/content/renderer/gpu/compositor_thread.cc b/content/renderer/gpu/compositor_thread.cc |
index cde2e933d8ac22a16ab1c6cfd57d1dec98168c2d..867cadb4dd379f6061f54f996da628afa5137a60 100644 |
--- a/content/renderer/gpu/compositor_thread.cc |
+++ b/content/renderer/gpu/compositor_thread.cc |
@@ -6,6 +6,7 @@ |
#include "base/bind.h" |
#include "base/debug/trace_event.h" |
+#include "base/message_loop.h" |
#include "content/renderer/gpu/input_event_filter.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebActiveWheelFlingParameters.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebCompositorInputHandlerClient.h" |
@@ -98,17 +99,17 @@ void SetHighThreadPriority() { |
} |
#endif |
-CompositorThread::CompositorThread(IPC::Listener* main_listener) |
- : thread_("Compositor") { |
+CompositorThread::CompositorThread(IPC::Listener* main_listener, MessageLoop* message_loop) |
+ : message_loop_(message_loop), |
+ thread_(message_loop->message_loop_proxy()) { |
filter_ = |
new InputEventFilter(main_listener, |
- thread_.message_loop()->message_loop_proxy(), |
+ message_loop->message_loop_proxy(), |
base::Bind(&CompositorThread::HandleInputEvent, |
base::Unretained(this))); |
#if defined(OS_ANDROID) |
// TODO(epenner): Move thread priorities to base. (crbug.com/170549) |
- thread_.message_loop()->PostTask(FROM_HERE, |
- base::Bind(&SetHighThreadPriority)); |
+ message_loop->PostTask(FROM_HERE, base::Bind(&SetHighThreadPriority)); |
#endif |
} |
@@ -122,9 +123,9 @@ IPC::ChannelProxy::MessageFilter* CompositorThread::GetMessageFilter() const { |
void CompositorThread::AddInputHandler( |
int routing_id, int input_handler_id, |
const base::WeakPtr<RenderViewImpl>& render_view_impl) { |
- DCHECK_NE(thread_.message_loop(), MessageLoop::current()); |
+ DCHECK_NE(message_loop_, MessageLoop::current()); |
- thread_.message_loop()->PostTask( |
+ message_loop_->PostTask( |
FROM_HERE, |
base::Bind(&CompositorThread::AddInputHandlerOnCompositorThread, |
base::Unretained(this), |
@@ -139,7 +140,7 @@ void CompositorThread::AddInputHandlerOnCompositorThread( |
scoped_refptr<base::MessageLoopProxy> main_loop, |
const base::WeakPtr<RenderViewImpl>& render_view_impl) { |
- DCHECK_EQ(thread_.message_loop(), MessageLoop::current()); |
+ DCHECK_EQ(message_loop_, MessageLoop::current()); |
WebCompositorInputHandler* input_handler = |
WebCompositorInputHandler::fromIdentifier(input_handler_id); |
@@ -162,7 +163,7 @@ void CompositorThread::AddInputHandlerOnCompositorThread( |
} |
void CompositorThread::RemoveInputHandler(int routing_id) { |
- DCHECK_EQ(MessageLoop::current(), thread_.message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
TRACE_EVENT0("CompositorThread::RemoveInputHandler", "RemovingRoute"); |
@@ -173,7 +174,7 @@ void CompositorThread::RemoveInputHandler(int routing_id) { |
void CompositorThread::HandleInputEvent( |
int routing_id, |
const WebInputEvent* input_event) { |
- DCHECK_EQ(MessageLoop::current(), thread_.message_loop()); |
+ DCHECK_EQ(MessageLoop::current(), message_loop_); |
InputHandlerMap::iterator it = input_handlers_.find(routing_id); |
if (it == input_handlers_.end()) { |