Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(695)

Unified Diff: ui/compositor/compositor.cc

Issue 1388543004: aura: Support releasing the OutputSurface() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@startcomp
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/compositor/compositor.cc
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
index 3bde07a5133375ce45d567fd13e18aa8daeec1bd..7f16e2831196d53b265b35f9a0912208d1b04bf2 100644
--- a/ui/compositor/compositor.cc
+++ b/ui/compositor/compositor.cc
@@ -307,6 +307,17 @@ 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;
+ gfx::AcceleratedWidget widget = widget_;
+ widget_ = gfx::kNullAcceleratedWidget;
+ return widget;
+}
+
gfx::AcceleratedWidget Compositor::widget() const {
DCHECK(widget_valid_);
return widget_;

Powered by Google App Engine
This is Rietveld 408576698