| 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 1b26e56c2b26733fc6843b435445ae1f98654000..6baac30765b1b49386abd6a3004b1c5ac093bb00 100644
|
| --- a/cc/resources/picture_layer_tiling_set.cc
|
| +++ b/cc/resources/picture_layer_tiling_set.cc
|
| @@ -21,8 +21,10 @@ class LargestToSmallestScaleFunctor {
|
|
|
|
|
| PictureLayerTilingSet::PictureLayerTilingSet(
|
| - PictureLayerTilingClient * client)
|
| - : client_(client) {
|
| + PictureLayerTilingClient* client,
|
| + gfx::Size layer_bounds)
|
| + : client_(client),
|
| + layer_bounds_(layer_bounds) {
|
| }
|
|
|
| PictureLayerTilingSet::~PictureLayerTilingSet() {
|
| @@ -36,61 +38,36 @@ 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);
|
| -}
|
| -
|
| void PictureLayerTilingSet::InvalidateTilesWithText() {
|
| for (size_t i = 0; i < tilings_.size(); ++i)
|
| tilings_[i]->InvalidateTilesWithText();
|
| }
|
|
|
| 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;
|
| @@ -113,11 +90,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::CoverageIterator::CoverageIterator(
|
| const PictureLayerTilingSet* set,
|
| float contents_scale,
|
|
|