Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(231)

Unified Diff: cc/resources/picture_layer_tiling.cc

Issue 669813003: Update from chromium https://crrev.com/301725/ (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/resources/picture_layer_tiling.h ('k') | cc/resources/picture_layer_tiling_set_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « cc/resources/picture_layer_tiling.h ('k') | cc/resources/picture_layer_tiling_set_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698