Index: cc/trees/single_thread_proxy.cc |
diff --git a/cc/trees/single_thread_proxy.cc b/cc/trees/single_thread_proxy.cc |
index b6d120b48053a54c3cfbf34b9646b6db407968f8..5637830883fd8e9766f6ac609a9e7cdd29d13e3c 100644 |
--- a/cc/trees/single_thread_proxy.cc |
+++ b/cc/trees/single_thread_proxy.cc |
@@ -122,7 +122,14 @@ void SingleThreadProxy::SetLayerTreeHostClientReady() { |
void SingleThreadProxy::SetVisible(bool visible) { |
TRACE_EVENT1("cc", "SingleThreadProxy::SetVisible", "visible", visible); |
DebugScopedSetImplThread impl(this); |
+ |
+ bool was_visible = layer_tree_host_impl_->visible(); |
layer_tree_host_impl_->SetVisible(visible); |
+ |
+ // Call PrepareTiles in case we're waiting for ready to draw. |
+ if (!was_visible && visible) |
+ layer_tree_host_impl_->PrepareTiles(); |
+ |
if (scheduler_on_impl_thread_) |
scheduler_on_impl_thread_->SetVisible(layer_tree_host_impl_->visible()); |
// Changing visibility could change ShouldComposite(). |