Index: content/browser/renderer_host/render_widget_host_view_aura.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc |
index 1a8db6dc1241cc986caeb29af4cfc1677de1a054..90ff55c148f113ab97316db02df93a3f81390447 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
@@ -283,10 +283,14 @@ RenderWidgetHost* RenderWidgetHostViewAura::GetRenderWidgetHost() const { |
void RenderWidgetHostViewAura::DidBecomeSelected() { |
host_->WasRestored(); |
+ if (!current_surface_ && host_->is_accelerated_compositing_active() && |
+ !released_front_lock_.get()) |
+ released_front_lock_ = window_->GetRootWindow()->GetCompositorLock(); |
} |
void RenderWidgetHostViewAura::WasHidden() { |
host_->WasHidden(); |
+ released_front_lock_ = NULL; |
} |
void RenderWidgetHostViewAura::SetSize(const gfx::Size& size) { |
@@ -509,6 +513,8 @@ void RenderWidgetHostViewAura::UpdateExternalTexture() { |
container->Update(); |
window_->SetExternalTexture(container); |
+ released_front_lock_ = NULL; |
+ |
if (!container) { |
resize_locks_.clear(); |
} else { |