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 accd96710ca5a804983b6c100e2f16507bcccc28..f394d52494ea5750809c128277c1f25afb07d363 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -1737,10 +1737,12 @@ void LayerTreeHostImpl::SetVisible(bool visible) { |
DidVisibilityChange(this, visible_); |
EnforceManagedMemoryPolicy(ActualManagedMemoryPolicy()); |
- if (!visible_) { |
+ // If we just became visible, we have to ensure that we draw high res tiles, |
+ // to prevent checkerboard/low res flashes. |
+ if (visible_) |
active_tree()->SetRequiresHighResToDraw(); |
+ else |
EvictAllUIResources(); |
- } |
// Evict tiles immediately if invisible since this tab may never get another |
// draw or timer tick. |