| Index: cc/resources/picture_layer_tiling_set.cc
|
| diff --git a/cc/resources/picture_layer_tiling_set.cc b/cc/resources/picture_layer_tiling_set.cc
|
| index 779e2c08e9e6d994b9f4f7e9c25635c42efc8662..bae9df9ff21c0353441040355518767af50e755d 100644
|
| --- a/cc/resources/picture_layer_tiling_set.cc
|
| +++ b/cc/resources/picture_layer_tiling_set.cc
|
| @@ -62,6 +62,8 @@ void PictureLayerTilingSet::UpdateTilingsToCurrentRasterSource(
|
| RemoveTilingsBelowScale(minimum_contents_scale);
|
| RemoveTilingsAboveScale(maximum_contents_scale);
|
|
|
| + bool added_tiling = false;
|
| +
|
| // Copy over tilings that are shared with the |twin_set| tiling set (if it
|
| // exists).
|
| if (twin_set) {
|
| @@ -78,6 +80,7 @@ void PictureLayerTilingSet::UpdateTilingsToCurrentRasterSource(
|
| skewport_extrapolation_limit_in_content_pixels_);
|
| tilings_.push_back(new_tiling.Pass());
|
| this_tiling = tilings_.back();
|
| + added_tiling = true;
|
| }
|
| this_tiling->CloneTilesAndPropertiesFrom(*twin_tiling);
|
| }
|
| @@ -127,6 +130,9 @@ void PictureLayerTilingSet::UpdateTilingsToCurrentRasterSource(
|
| DCHECK_EQ(1u, num_high_res);
|
| }
|
| #endif
|
| +
|
| + if (added_tiling)
|
| + client_->TilingSetChanged();
|
| }
|
|
|
| void PictureLayerTilingSet::CleanUpTilings(
|
| @@ -187,7 +193,10 @@ void PictureLayerTilingSet::RemoveNonIdealTilings() {
|
| auto to_remove = tilings_.remove_if([](PictureLayerTiling* t) {
|
| return t->resolution() == NON_IDEAL_RESOLUTION;
|
| });
|
| + bool removed_anything = to_remove != tilings_.end();
|
| tilings_.erase(to_remove, tilings_.end());
|
| + if (removed_anything)
|
| + client_->TilingSetChanged();
|
| }
|
|
|
| void PictureLayerTilingSet::MarkAllTilingsNonIdeal() {
|
| @@ -208,8 +217,9 @@ PictureLayerTiling* PictureLayerTilingSet::AddTiling(
|
| skewport_target_time_in_seconds_,
|
| skewport_extrapolation_limit_in_content_pixels_));
|
| PictureLayerTiling* appended = tilings_.back();
|
| -
|
| tilings_.sort(LargestToSmallestScaleFunctor());
|
| +
|
| + client_->TilingSetChanged();
|
| return appended;
|
| }
|
|
|
| @@ -247,7 +257,10 @@ void PictureLayerTilingSet::RemoveTilingsBelowScale(float minimum_scale) {
|
| tilings_.remove_if([minimum_scale](PictureLayerTiling* tiling) {
|
| return tiling->contents_scale() < minimum_scale;
|
| });
|
| + bool removed_anything = to_remove != tilings_.end();
|
| tilings_.erase(to_remove, tilings_.end());
|
| + if (removed_anything)
|
| + client_->TilingSetChanged();
|
| }
|
|
|
| void PictureLayerTilingSet::RemoveTilingsAboveScale(float maximum_scale) {
|
| @@ -255,11 +268,17 @@ void PictureLayerTilingSet::RemoveTilingsAboveScale(float maximum_scale) {
|
| tilings_.remove_if([maximum_scale](PictureLayerTiling* tiling) {
|
| return tiling->contents_scale() > maximum_scale;
|
| });
|
| + bool removed_anything = to_remove != tilings_.end();
|
| tilings_.erase(to_remove, tilings_.end());
|
| + if (removed_anything)
|
| + client_->TilingSetChanged();
|
| }
|
|
|
| void PictureLayerTilingSet::RemoveAllTilings() {
|
| + bool removed_anything = !tilings_.empty();
|
| tilings_.clear();
|
| + if (removed_anything)
|
| + client_->TilingSetChanged();
|
| }
|
|
|
| void PictureLayerTilingSet::Remove(PictureLayerTiling* tiling) {
|
| @@ -268,6 +287,7 @@ void PictureLayerTilingSet::Remove(PictureLayerTiling* tiling) {
|
| if (iter == tilings_.end())
|
| return;
|
| tilings_.erase(iter);
|
| + client_->TilingSetChanged();
|
| }
|
|
|
| void PictureLayerTilingSet::RemoveAllTiles() {
|
|
|