Chromium Code Reviews| Index: cc/resources/tiling_set_raster_queue_required.cc |
| diff --git a/cc/resources/tiling_set_raster_queue_required.cc b/cc/resources/tiling_set_raster_queue_required.cc |
| index 89ddb044255ed905ddcb963dffd62276e324305b..98077f56116ffd1fdcd5b89536a0a66fa7c10cb7 100644 |
| --- a/cc/resources/tiling_set_raster_queue_required.cc |
| +++ b/cc/resources/tiling_set_raster_queue_required.cc |
| @@ -31,7 +31,14 @@ TilingSetRasterQueueRequired::TilingSetRasterQueueRequired( |
| if (!tiling) |
| return; |
| - iterator_ = TilingIterator(tiling, &tiling->tiling_data_); |
| + if (type == RasterTilePriorityQueue::Type::REQUIRED_FOR_ACTIVATION && |
| + tiling->IsActiveTree()) { |
|
enne (OOO)
2015/04/02 21:45:34
This is a bit weird. ActiveTiling knows it's acti
vmpstr
2015/04/02 22:33:27
I can reduce it to just an if based on type. For r
|
| + iterator_ = TilingIterator(tiling, &tiling->tiling_data_, |
| + tiling->pending_visible_rect()); |
| + } else { |
| + iterator_ = TilingIterator(tiling, &tiling->tiling_data_, |
| + tiling->current_visible_rect()); |
| + } |
| while (!iterator_.done() && !IsTileRequired(*iterator_)) |
| ++iterator_; |
| } |
| @@ -73,19 +80,11 @@ TilingSetRasterQueueRequired::TilingIterator::TilingIterator() |
| TilingSetRasterQueueRequired::TilingIterator::TilingIterator( |
| PictureLayerTiling* tiling, |
| - TilingData* tiling_data) |
| + TilingData* tiling_data, |
| + const gfx::Rect& rect) |
| : tiling_(tiling), tiling_data_(tiling_data), current_tile_(nullptr) { |
| - if (!tiling_->has_visible_rect_tiles()) { |
| - // Verify that if we would create the iterator, then it would be empty (ie |
| - // it would return false when evaluated as a bool). |
| - DCHECK(!TilingData::Iterator(tiling_data_, tiling->current_visible_rect(), |
| - false)); |
| - return; |
| - } |
| - |
| visible_iterator_ = |
| - TilingData::Iterator(tiling_data_, tiling_->current_visible_rect(), |
| - false /* include_borders */); |
| + TilingData::Iterator(tiling_data_, rect, false /* include_borders */); |
| if (!visible_iterator_) |
| return; |