Index: ui/compositor/compositor.cc |
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc |
index c9ad47563b71cf2d2d53fa46a9359edaf3694e43..345d7211872ca4eefbe72fff6caf5d14a3fc5260 100644 |
--- a/ui/compositor/compositor.cc |
+++ b/ui/compositor/compositor.cc |
@@ -107,7 +107,7 @@ Compositor::Compositor(gfx::AcceleratedWidget widget, |
draw_on_compositing_end_(false), |
swap_state_(SWAP_NONE), |
layer_animator_collection_(this), |
- schedule_draw_factory_(this) { |
+ weak_ptr_factory_(this) { |
root_web_layer_ = cc::Layer::Create(); |
CommandLine* command_line = CommandLine::ForCurrentProcess(); |
@@ -200,6 +200,11 @@ Compositor::~Compositor() { |
context_factory_->RemoveCompositor(this); |
} |
+void Compositor::SetOutputSurface( |
+ scoped_ptr<cc::OutputSurface> output_surface) { |
+ host_->SetOutputSurface(output_surface.Pass()); |
+} |
+ |
void Compositor::ScheduleDraw() { |
if (compositor_thread_loop_.get()) { |
host_->SetNeedsCommit(); |
@@ -207,7 +212,7 @@ void Compositor::ScheduleDraw() { |
defer_draw_scheduling_ = true; |
task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&Compositor::Draw, schedule_draw_factory_.GetWeakPtr())); |
+ base::Bind(&Compositor::Draw, weak_ptr_factory_.GetWeakPtr())); |
} |
} |
@@ -366,8 +371,8 @@ void Compositor::Layout() { |
} |
void Compositor::RequestNewOutputSurface(bool fallback) { |
- host_->SetOutputSurface( |
- context_factory_->CreateOutputSurface(this, fallback)); |
+ context_factory_->CreateOutputSurface(weak_ptr_factory_.GetWeakPtr(), |
+ fallback); |
} |
void Compositor::DidCommit() { |