Index: ui/compositor/compositor.cc |
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc |
index 08a5597d5739c98d10dfa8e78abd2c2d3dbaa537..0ae8fed5b1aa373867fdd93442cd6d400162a566 100644 |
--- a/ui/compositor/compositor.cc |
+++ b/ui/compositor/compositor.cc |
@@ -309,6 +309,15 @@ void Compositor::SetAcceleratedWidget(gfx::AcceleratedWidget widget) { |
context_factory_->CreateOutputSurface(weak_ptr_factory_.GetWeakPtr()); |
} |
+gfx::AcceleratedWidget Compositor::ReleaseAcceleratedWidget() { |
+ DCHECK(!IsVisible()); |
+ if (!host_->output_surface_lost()) |
+ host_->ReleaseOutputSurface(); |
+ context_factory_->RemoveCompositor(this); |
+ widget_valid_ = false; |
+ return widget_; |
+} |
+ |
gfx::AcceleratedWidget Compositor::widget() const { |
DCHECK(widget_valid_); |
return widget_; |