Index: cc/resources/picture_layer_tiling.cc |
diff --git a/cc/resources/picture_layer_tiling.cc b/cc/resources/picture_layer_tiling.cc |
index de2cb4a19f1cca0e9587f3943e83c2d837072fe7..e21a3aa0076ab09086fe23f53950e7656ee4c387 100644 |
--- a/cc/resources/picture_layer_tiling.cc |
+++ b/cc/resources/picture_layer_tiling.cc |
@@ -138,9 +138,6 @@ void PictureLayerTiling::TakeTilesAndPropertiesFrom( |
RemoveTilesInRegion(layer_invalidation, false /* recreate tiles */); |
- for (TileMap::value_type& tile_pair : tiles_) |
- tile_pair.second->set_raster_source(raster_source_.get()); |
- |
resolution_ = pending_twin->resolution_; |
bool create_missing_tiles = false; |
if (live_tiles_rect_.IsEmpty()) { |
@@ -156,7 +153,6 @@ void PictureLayerTiling::TakeTilesAndPropertiesFrom( |
while (!pending_twin->tiles_.empty()) { |
TileMapKey key = pending_twin->tiles_.begin()->first; |
tiles_.set(key, pending_twin->tiles_.take_and_erase(key)); |
- DCHECK(tiles_.get(key)->raster_source() == raster_source_.get()); |
} |
} |
DCHECK(pending_twin->tiles_.empty()); |
@@ -297,14 +293,6 @@ void PictureLayerTiling::RemoveTilesInRegion(const Region& layer_invalidation, |
CreateTile(key.first, key.second); |
} |
-void PictureLayerTiling::SetRasterSourceOnTiles() { |
- if (tree_ == PENDING_TREE) |
- return; |
- |
- for (TileMap::value_type& tile_pair : tiles_) |
- tile_pair.second->set_raster_source(raster_source_.get()); |
-} |
- |
bool PictureLayerTiling::ShouldCreateTileAt(int i, int j) const { |
// Active tree should always create a tile. The reason for this is that active |
// tree represents content that we draw on screen, which means that whenever |
@@ -819,12 +807,18 @@ void PictureLayerTiling::UpdateRequiredStatesOnTile(Tile* tile) const { |
PrioritizedTile PictureLayerTiling::MakePrioritizedTile(Tile* tile) const { |
DCHECK(tile); |
- return PrioritizedTile(tile, ComputePriorityForTile(tile), |
+ DCHECK( |
+ raster_source()->CoversRect(tile->content_rect(), tile->contents_scale())) |
+ << "Recording rect: " |
+ << gfx::ScaleToEnclosingRect(tile->content_rect(), |
+ 1.f / tile->contents_scale()).ToString(); |
+ |
+ return PrioritizedTile(tile, raster_source(), ComputePriorityForTile(tile), |
IsTileOccluded(tile)); |
} |
std::map<const Tile*, PrioritizedTile> |
-PictureLayerTiling::UpdateAndGetAllPrioritizedTilesForTesting() { |
+PictureLayerTiling::UpdateAndGetAllPrioritizedTilesForTesting() const { |
std::map<const Tile*, PrioritizedTile> result; |
for (const auto& key_tile_pair : tiles_) { |
UpdateRequiredStatesOnTile(key_tile_pair.second); |
@@ -835,13 +829,6 @@ PictureLayerTiling::UpdateAndGetAllPrioritizedTilesForTesting() { |
return result; |
} |
-void PictureLayerTiling::VerifyAllTilesHaveCurrentRasterSource() const { |
-#if DCHECK_IS_ON() |
- for (const auto& tile_pair : tiles_) |
- DCHECK_EQ(raster_source_.get(), tile_pair.second->raster_source()); |
-#endif |
-} |
- |
TilePriority PictureLayerTiling::ComputePriorityForTile( |
const Tile* tile) const { |
// TODO(vmpstr): See if this can be moved to iterators. |
@@ -877,13 +864,10 @@ TilePriority PictureLayerTiling::ComputePriorityForTile( |
distance_to_visible); |
} |
-void PictureLayerTiling::GetAllTilesAndPrioritiesForTracing( |
- std::map<const Tile*, TilePriority>* tile_map) const { |
+void PictureLayerTiling::GetAllPrioritizedTilesForTracing( |
+ std::vector<PrioritizedTile>* prioritized_tiles) const { |
for (const auto& tile_pair : tiles_) { |
- const Tile* tile = tile_pair.second; |
- const TilePriority& priority = ComputePriorityForTile(tile); |
- // Store combined priority. |
- (*tile_map)[tile] = priority; |
+ prioritized_tiles->push_back(MakePrioritizedTile(tile_pair.second)); |
} |
} |