| 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 8d98d66653e9ead11f6243660e10b37cf5237cc6..93b962722f79e910de5cd7f30d833b4931c0beed 100644
|
| --- a/cc/resources/picture_layer_tiling_set.cc
|
| +++ b/cc/resources/picture_layer_tiling_set.cc
|
| @@ -19,8 +19,10 @@ class LargestToSmallestScaleFunctor {
|
|
|
|
|
| PictureLayerTilingSet::PictureLayerTilingSet(
|
| - PictureLayerTilingClient * client)
|
| - : client_(client) {
|
| + PictureLayerTilingClient* client,
|
| + gfx::Size layer_bounds)
|
| + : client_(client),
|
| + layer_bounds_(layer_bounds) {
|
| }
|
|
|
| PictureLayerTilingSet::~PictureLayerTilingSet() {
|
| @@ -34,56 +36,31 @@ void PictureLayerTilingSet::SetClient(PictureLayerTilingClient* client) {
|
|
|
| void PictureLayerTilingSet::CloneAll(
|
| const PictureLayerTilingSet& other,
|
| - const Region& invalidation,
|
| float minimum_contents_scale) {
|
| tilings_.clear();
|
| tilings_.reserve(other.tilings_.size());
|
| for (size_t i = 0; i < other.tilings_.size(); ++i) {
|
| - if (other.tilings_[i]->contents_scale() < minimum_contents_scale)
|
| + const PictureLayerTiling* tiling = other.tilings_[i];
|
| + if (tiling->contents_scale() < minimum_contents_scale)
|
| continue;
|
| - Clone(other.tilings_[i], invalidation);
|
| + tilings_.push_back(tiling->Clone(layer_bounds_, client_));
|
| }
|
| + tilings_.sort(LargestToSmallestScaleFunctor());
|
| }
|
|
|
| -void PictureLayerTilingSet::Clone(
|
| - const PictureLayerTiling* tiling,
|
| - const Region& invalidation) {
|
| -
|
| +void PictureLayerTilingSet::Clone(const PictureLayerTiling* tiling) {
|
| for (size_t i = 0; i < tilings_.size(); ++i)
|
| DCHECK_NE(tilings_[i]->contents_scale(), tiling->contents_scale());
|
|
|
| - tilings_.push_back(tiling->Clone());
|
| - gfx::Size size = tilings_.back()->layer_bounds();
|
| - tilings_.back()->SetClient(client_);
|
| - tilings_.back()->Invalidate(invalidation);
|
| - // Intentionally use this set's layer bounds, as it may have changed.
|
| - tilings_.back()->SetLayerBounds(layer_bounds_);
|
| -
|
| + tilings_.push_back(tiling->Clone(layer_bounds_, client_));
|
| tilings_.sort(LargestToSmallestScaleFunctor());
|
| }
|
|
|
| -void PictureLayerTilingSet::SetLayerBounds(gfx::Size layer_bounds) {
|
| - if (layer_bounds_ == layer_bounds)
|
| - return;
|
| - layer_bounds_ = layer_bounds;
|
| - for (size_t i = 0; i < tilings_.size(); ++i)
|
| - tilings_[i]->SetLayerBounds(layer_bounds);
|
| -}
|
| -
|
| -gfx::Size PictureLayerTilingSet::LayerBounds() const {
|
| - return layer_bounds_;
|
| -}
|
| -
|
| -void PictureLayerTilingSet::Invalidate(const Region& layer_invalidation) {
|
| - for (size_t i = 0; i < tilings_.size(); ++i)
|
| - tilings_[i]->Invalidate(layer_invalidation);
|
| -}
|
| -
|
| PictureLayerTiling* PictureLayerTilingSet::AddTiling(float contents_scale) {
|
| - tilings_.push_back(PictureLayerTiling::Create(contents_scale));
|
| + tilings_.push_back(PictureLayerTiling::Create(contents_scale,
|
| + layer_bounds_,
|
| + client_));
|
| PictureLayerTiling* appended = tilings_.back();
|
| - appended->SetClient(client_);
|
| - appended->SetLayerBounds(layer_bounds_);
|
|
|
| tilings_.sort(LargestToSmallestScaleFunctor());
|
| return appended;
|
| @@ -106,11 +83,6 @@ void PictureLayerTilingSet::RemoveAllTiles() {
|
| tilings_[i]->Reset();
|
| }
|
|
|
| -void PictureLayerTilingSet::CreateTilesFromLayerRect(gfx::Rect layer_rect) {
|
| - for (size_t i = 0; i < tilings_.size(); ++i)
|
| - tilings_[i]->CreateTilesFromLayerRect(layer_rect);
|
| -}
|
| -
|
| PictureLayerTilingSet::Iterator::Iterator(
|
| const PictureLayerTilingSet* set,
|
| float contents_scale,
|
|
|