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 aea361ae94cecc54060d6a49f98fe5b42f47ae73..ca49603dcad0ff35f113fbbb4ae6a6cb27ed23d7 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
@@ -1786,6 +1786,11 @@ void RenderWidgetHostViewAura::OnLostResources() { |
UpdateExternalTexture(); |
locks_pending_commit_.clear(); |
+ // Make sure all ImageTransportClients are deleted now that the context those |
+ // are using is becoming invalid. This sends pending ACKs and needs to happen |
+ // after calling UpdateExternalTexture() which syncs with the impl thread. |
+ RunCompositingDidCommitCallbacks(); |
+ |
DCHECK(!shared_surface_handle_.is_null()); |
ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
factory->DestroySharedSurfaceHandle(shared_surface_handle_); |