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; |