Index: cc/trees/layer_tree_host_impl.cc |
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc |
index 6dc9043559c3df4eeb2c286e7b6baf4f1f2dbecf..0d4d5a0235c0481802a6b36db94786fd3bfaa846 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -1948,10 +1948,11 @@ void LayerTreeHostImpl::SetVisible(bool visible) { |
else |
EvictAllUIResources(); |
- // Evict tiles immediately if invisible since this tab may never get another |
- // draw or timer tick. |
- if (!visible_) |
- PrepareTiles(); |
+ // Call PrepareTiles unconditionally on visibility change since this tab may |
+ // never get another draw or timer tick. When becoming visible we care about |
+ // unblocking the scheduler which might be waiting for activation / ready to |
+ // draw. When becoming invisible we care about evicting tiles immediately. |
+ PrepareTiles(); |
if (!renderer_) |
return; |