| 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()));
|
| }
|
|
|