Index: cc/trees/single_thread_proxy.cc |
diff --git a/cc/trees/single_thread_proxy.cc b/cc/trees/single_thread_proxy.cc |
index 83e6bbed0bc06fefc567bb257a3252ffce180134..7d5689f1ddb87903474126621bfcd6c1dd71f40d 100644 |
--- a/cc/trees/single_thread_proxy.cc |
+++ b/cc/trees/single_thread_proxy.cc |
@@ -135,7 +135,7 @@ void SingleThreadProxy::SetOutputSurface( |
scoped_ptr<OutputSurface> output_surface) { |
DCHECK(Proxy::IsMainThread()); |
DCHECK(layer_tree_host_->output_surface_lost()); |
- output_surface_creation_requested_ = false; |
+ DCHECK(output_surface_creation_requested_); |
renderer_capabilities_for_main_thread_ = RendererCapabilities(); |
bool success; |
@@ -153,7 +153,10 @@ void SingleThreadProxy::SetOutputSurface( |
scheduler_on_impl_thread_->DidCreateAndInitializeOutputSurface(); |
else if (!inside_synchronous_composite_) |
SetNeedsCommit(); |
+ output_surface_creation_requested_ = false; |
} else { |
+ // DidFailToInitializeOutputSurface is treated as a RequestNewOutputSurface, |
+ // and so output_surface_creation_requested remains true. |
layer_tree_host_->DidFailToInitializeOutputSurface(); |
} |
} |