| Index: cc/tiles/tiling_set_raster_queue_all.cc
|
| diff --git a/cc/tiles/tiling_set_raster_queue_all.cc b/cc/tiles/tiling_set_raster_queue_all.cc
|
| index 74bf1b2f144f806cadf802723924da96fc597f33..a1dad22c4547728aa808a2eb0efcaf470b193337 100644
|
| --- a/cc/tiles/tiling_set_raster_queue_all.cc
|
| +++ b/cc/tiles/tiling_set_raster_queue_all.cc
|
| @@ -200,8 +200,20 @@ bool TilingSetRasterQueueAll::OnePriorityRectIterator::
|
|
|
| bool TilingSetRasterQueueAll::OnePriorityRectIterator::IsTileValid(
|
| const Tile* tile) const {
|
| - if (!tile || !TileNeedsRaster(tile))
|
| + if (!tile)
|
| return false;
|
| +
|
| + // Occluded tiles are not processed for raster or image decodes.
|
| + if (tiling_->IsTileOccluded(tile))
|
| + return false;
|
| +
|
| + // If the tile does not need raster and does not have checkered-images
|
| + // requiring a decode, we don't need to add it to the raster queue.
|
| + if (!tile->draw_info().NeedsRaster() &&
|
| + !tile->draw_info().is_checker_imaged()) {
|
| + return false;
|
| + }
|
| +
|
| // After the pending visible rect has been processed, we must return false
|
| // for pending visible rect tiles as tiling iterators do not ignore those
|
| // tiles.
|
|
|