Index: ui/compositor/compositor.cc |
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc |
index f6ed688d9b405aba456f7d12bea4dcc604afefbd..603bf487ed24351e78771d66954301522a63d3cb 100644 |
--- a/ui/compositor/compositor.cc |
+++ b/ui/compositor/compositor.cc |
@@ -44,7 +44,7 @@ namespace ui { |
CompositorLock::CompositorLock(Compositor* compositor) |
: compositor_(compositor) { |
- base::MessageLoop::current()->PostDelayedTask( |
+ compositor_->task_runner_->PostDelayedTask( |
FROM_HERE, |
base::Bind(&CompositorLock::CancelLock, AsWeakPtr()), |
base::TimeDelta::FromMilliseconds(kCompositorLockTimeoutMs)); |
@@ -70,11 +70,13 @@ namespace { |
namespace ui { |
Compositor::Compositor(gfx::AcceleratedWidget widget, |
- ui::ContextFactory* context_factory) |
+ ui::ContextFactory* context_factory, |
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner) |
: context_factory_(context_factory), |
root_layer_(NULL), |
widget_(widget), |
compositor_thread_loop_(context_factory->GetCompositorMessageLoop()), |
+ task_runner_(task_runner), |
vsync_manager_(new CompositorVSyncManager()), |
device_scale_factor_(0.0f), |
last_started_frame_(0), |
@@ -142,7 +144,7 @@ Compositor::Compositor(gfx::AcceleratedWidget widget, |
this, |
context_factory_->GetSharedBitmapManager(), |
settings, |
- base::MessageLoopProxy::current(), |
+ task_runner_, |
compositor_thread_loop_); |
} else { |
host_ = cc::LayerTreeHost::CreateSingleThreaded( |
@@ -150,7 +152,7 @@ Compositor::Compositor(gfx::AcceleratedWidget widget, |
this, |
context_factory_->GetSharedBitmapManager(), |
settings, |
- base::MessageLoopProxy::current()); |
+ task_runner_); |
} |
UMA_HISTOGRAM_TIMES("GPU.CreateBrowserCompositor", |
base::TimeTicks::Now() - before_create); |
@@ -179,7 +181,7 @@ void Compositor::ScheduleDraw() { |
host_->SetNeedsCommit(); |
} else if (!defer_draw_scheduling_) { |
defer_draw_scheduling_ = true; |
- base::MessageLoop::current()->PostTask( |
+ task_runner_->PostTask( |
FROM_HERE, |
base::Bind(&Compositor::Draw, schedule_draw_factory_.GetWeakPtr())); |
} |