Index: content/browser/compositor/onscreen_display_client.cc |
diff --git a/content/browser/compositor/onscreen_display_client.cc b/content/browser/compositor/onscreen_display_client.cc |
index dbec4508926d4e9435a85f6d797d4c8e2ad2e5d2..6e2241d6cb1fbad34c892784d7a5c1968203a223 100644 |
--- a/content/browser/compositor/onscreen_display_client.cc |
+++ b/content/browser/compositor/onscreen_display_client.cc |
@@ -25,6 +25,7 @@ OnscreenDisplayClient::OnscreenDisplayClient( |
BrowserGpuMemoryBufferManager::current())), |
task_runner_(task_runner), |
scheduled_draw_(false), |
+ output_surface_lost_(false), |
deferred_draw_(false), |
pending_frames_(0), |
weak_ptr_factory_(this) { |
@@ -63,11 +64,14 @@ void OnscreenDisplayClient::ScheduleDraw() { |
} |
void OnscreenDisplayClient::OutputSurfaceLost() { |
+ output_surface_lost_ = true; |
surface_display_output_surface_->DidLoseOutputSurface(); |
} |
void OnscreenDisplayClient::Draw() { |
TRACE_EVENT0("content", "OnscreenDisplayClient::Draw"); |
+ if (output_surface_lost_) |
+ return; |
scheduled_draw_ = false; |
display_->Draw(); |
} |