Index: cc/resources/picture_layer_tiling.cc |
diff --git a/cc/resources/picture_layer_tiling.cc b/cc/resources/picture_layer_tiling.cc |
index 4dc46e0820b04062bbb8621ed8ef32985a51d4bc..61b0362ee44c2b9cd073fe86db6e7c238378c69f 100644 |
--- a/cc/resources/picture_layer_tiling.cc |
+++ b/cc/resources/picture_layer_tiling.cc |
@@ -126,7 +126,8 @@ Tile* PictureLayerTiling::CreateTile(int i, |
if (Tile* candidate_tile = twin_tiling->TileAt(i, j)) { |
gfx::Rect rect = |
gfx::ScaleToEnclosingRect(paint_rect, 1.0f / contents_scale_); |
- if (!client_->GetInvalidation()->Intersects(rect)) { |
+ const Region* invalidation = client_->GetPendingInvalidation(); |
+ if (!invalidation || !invalidation->Intersects(rect)) { |
DCHECK(!candidate_tile->is_shared()); |
DCHECK_EQ(i, candidate_tile->tiling_i_index()); |
DCHECK_EQ(j, candidate_tile->tiling_j_index()); |
@@ -148,7 +149,8 @@ Tile* PictureLayerTiling::CreateTile(int i, |
} |
void PictureLayerTiling::CreateMissingTilesInLiveTilesRect() { |
- const PictureLayerTiling* twin_tiling = client_->GetTwinTiling(this); |
+ const PictureLayerTiling* twin_tiling = |
+ client_->GetPendingOrActiveTwinTiling(this); |
bool include_borders = false; |
for (TilingData::Iterator iter( |
&tiling_data_, live_tiles_rect_, include_borders); |
@@ -225,7 +227,8 @@ void PictureLayerTiling::UpdateTilesToCurrentPile( |
// If the layer grew, the live_tiles_rect_ is not changed, but a new row |
// and/or column of tiles may now exist inside the same live_tiles_rect_. |
- const PictureLayerTiling* twin_tiling = client_->GetTwinTiling(this); |
+ const PictureLayerTiling* twin_tiling = |
+ client_->GetPendingOrActiveTwinTiling(this); |
if (after_right > before_right) { |
DCHECK_EQ(after_right, before_right + 1); |
for (int j = before_top; j <= after_bottom; ++j) |
@@ -247,9 +250,9 @@ void PictureLayerTiling::UpdateTilesToCurrentPile( |
Invalidate(layer_invalidation); |
} |
- PicturePileImpl* pile = client_->GetPile(); |
+ RasterSource* raster_source = client_->GetRasterSource(); |
for (TileMap::const_iterator it = tiles_.begin(); it != tiles_.end(); ++it) |
- it->second->set_picture_pile(pile); |
+ it->second->set_raster_source(raster_source); |
VerifyLiveTilesRect(); |
} |
@@ -629,7 +632,8 @@ void PictureLayerTiling::SetLiveTilesRect( |
RemoveTileAt(iter.index_x(), iter.index_y(), recycled_twin); |
} |
- const PictureLayerTiling* twin_tiling = client_->GetTwinTiling(this); |
+ const PictureLayerTiling* twin_tiling = |
+ client_->GetPendingOrActiveTwinTiling(this); |
// Iterate to allocate new tiles for all regions with newly exposed area. |
for (TilingData::DifferenceIterator iter(&tiling_data_, |
@@ -717,7 +721,8 @@ bool PictureLayerTiling::IsTileRequiredForActivation(const Tile* tile) const { |
if (client_->RequiresHighResToDraw()) |
return true; |
- const PictureLayerTiling* twin_tiling = client_->GetTwinTiling(this); |
+ const PictureLayerTiling* twin_tiling = |
+ client_->GetPendingOrActiveTwinTiling(this); |
if (!twin_tiling) |
return true; |
@@ -740,7 +745,8 @@ bool PictureLayerTiling::IsTileRequiredForActivation(const Tile* tile) const { |
void PictureLayerTiling::UpdateTileAndTwinPriority(Tile* tile) const { |
UpdateTilePriority(tile); |
- const PictureLayerTiling* twin_tiling = client_->GetTwinTiling(this); |
+ const PictureLayerTiling* twin_tiling = |
+ client_->GetPendingOrActiveTwinTiling(this); |
if (!tile->is_shared() || !twin_tiling) { |
WhichTree tree = client_->GetTree(); |
WhichTree twin_tree = tree == ACTIVE_TREE ? PENDING_TREE : ACTIVE_TREE; |