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, |