Index: cc/resources/tiling_set_eviction_queue.cc |
diff --git a/cc/resources/tiling_set_eviction_queue.cc b/cc/resources/tiling_set_eviction_queue.cc |
index 18f659ed53719e85778ff251d620949d8dcdc07c..2db8964b6cd05060317db6a1da60ff88a7b7a248 100644 |
--- a/cc/resources/tiling_set_eviction_queue.cc |
+++ b/cc/resources/tiling_set_eviction_queue.cc |
@@ -220,9 +220,16 @@ bool TilingSetEvictionQueue::AdvanceToNextTilingRangeType() { |
current_tiling_range_type_ = PictureLayerTilingSet::HIGH_RES; |
return true; |
case PictureLayerTilingSet::HIGH_RES: |
+ // Process required for activation tiles (unless that has already been |
+ // done for the current priority bin) if there is a tiling with required |
+ // for activation tiles and that tiling may have required for activation |
+ // tiles having the current priority bin (in the pending tree only NOW |
+ // tiles may be required for activation). |
if (!processing_tiling_with_required_for_activation_tiles_ && |
tiling_index_with_required_for_activation_tiles_ < |
- tiling_set_->num_tilings()) { |
+ tiling_set_->num_tilings() && |
+ (current_priority_bin_ == TilePriority::NOW || |
+ tree_ == ACTIVE_TREE)) { |
processing_tiling_with_required_for_activation_tiles_ = true; |
return true; |
} |