| 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 37441c3b33b28601f44f956b35841ac14b98e972..87c451078e531697027f40e7e8e9666def20a4b9 100644
|
| --- a/cc/resources/picture_layer_tiling_set.cc
|
| +++ b/cc/resources/picture_layer_tiling_set.cc
|
| @@ -54,7 +54,7 @@ PictureLayerTilingSet::~PictureLayerTilingSet() {
|
| }
|
|
|
| void PictureLayerTilingSet::UpdateTilingsToCurrentRasterSource(
|
| - RasterSource* raster_source,
|
| + scoped_refptr<RasterSource> raster_source,
|
| const PictureLayerTilingSet* twin_set,
|
| const Region& layer_invalidation,
|
| float minimum_contents_scale,
|
| @@ -62,8 +62,6 @@ void PictureLayerTilingSet::UpdateTilingsToCurrentRasterSource(
|
| RemoveTilingsBelowScale(minimum_contents_scale);
|
| RemoveTilingsAboveScale(maximum_contents_scale);
|
|
|
| - gfx::Size layer_bounds = raster_source->GetSize();
|
| -
|
| // Copy over tilings that are shared with the |twin_set| tiling set (if it
|
| // exists).
|
| if (twin_set) {
|
| @@ -75,8 +73,8 @@ void PictureLayerTilingSet::UpdateTilingsToCurrentRasterSource(
|
| PictureLayerTiling* this_tiling = FindTilingWithScale(contents_scale);
|
| if (!this_tiling) {
|
| scoped_ptr<PictureLayerTiling> new_tiling = PictureLayerTiling::Create(
|
| - contents_scale, layer_bounds, client_, max_tiles_for_interest_area_,
|
| - skewport_target_time_in_seconds_,
|
| + contents_scale, raster_source, client_,
|
| + max_tiles_for_interest_area_, skewport_target_time_in_seconds_,
|
| skewport_extrapolation_limit_in_content_pixels_);
|
| tilings_.push_back(new_tiling.Pass());
|
| this_tiling = tilings_.back();
|
| @@ -91,9 +89,9 @@ void PictureLayerTilingSet::UpdateTilingsToCurrentRasterSource(
|
| if (twin_set && twin_set->FindTilingWithScale(tiling->contents_scale()))
|
| continue;
|
|
|
| - tiling->Resize(layer_bounds);
|
| + tiling->SetRasterSourceAndResize(raster_source);
|
| tiling->Invalidate(layer_invalidation);
|
| - tiling->SetRasterSource(raster_source);
|
| + tiling->SetRasterSourceOnTiles();
|
| // This is needed for cases where the live tiles rect didn't change but
|
| // recordings exist in the raster source that did not exist on the last
|
| // raster source.
|
| @@ -199,12 +197,14 @@ void PictureLayerTilingSet::MarkAllTilingsNonIdeal() {
|
|
|
| PictureLayerTiling* PictureLayerTilingSet::AddTiling(
|
| float contents_scale,
|
| - const gfx::Size& layer_bounds) {
|
| - for (size_t i = 0; i < tilings_.size(); ++i)
|
| + scoped_refptr<RasterSource> raster_source) {
|
| + for (size_t i = 0; i < tilings_.size(); ++i) {
|
| DCHECK_NE(tilings_[i]->contents_scale(), contents_scale);
|
| + DCHECK_EQ(tilings_[i]->raster_source(), raster_source.get());
|
| + }
|
|
|
| tilings_.push_back(PictureLayerTiling::Create(
|
| - contents_scale, layer_bounds, client_, max_tiles_for_interest_area_,
|
| + contents_scale, raster_source, client_, max_tiles_for_interest_area_,
|
| skewport_target_time_in_seconds_,
|
| skewport_extrapolation_limit_in_content_pixels_));
|
| PictureLayerTiling* appended = tilings_.back();
|
|
|