| 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 a0000b6e697450deedc814bef8c21920c400a99a..d523dee3d76ede35c11a083823b4d633c8100edc 100644
|
| --- a/cc/resources/picture_layer_tiling_set.cc
|
| +++ b/cc/resources/picture_layer_tiling_set.cc
|
| @@ -19,8 +19,16 @@ class LargestToSmallestScaleFunctor {
|
|
|
| } // namespace
|
|
|
| -PictureLayerTilingSet::PictureLayerTilingSet(PictureLayerTilingClient* client)
|
| - : client_(client) {
|
| +// static
|
| +scoped_ptr<PictureLayerTilingSet> PictureLayerTilingSet::Create(
|
| + PictureLayerTilingClient* client,
|
| + RasterSource* raster_source) {
|
| + return make_scoped_ptr(new PictureLayerTilingSet(client, raster_source));
|
| +}
|
| +
|
| +PictureLayerTilingSet::PictureLayerTilingSet(PictureLayerTilingClient* client,
|
| + RasterSource* raster_source)
|
| + : client_(client), raster_source_(raster_source) {
|
| }
|
|
|
| PictureLayerTilingSet::~PictureLayerTilingSet() {
|
| @@ -32,6 +40,10 @@ void PictureLayerTilingSet::SetClient(PictureLayerTilingClient* client) {
|
| tilings_[i]->SetClient(client_);
|
| }
|
|
|
| +void PictureLayerTilingSet::SetRasterSource(RasterSource* raster_source) {
|
| + raster_source_ = raster_source;
|
| +}
|
| +
|
| void PictureLayerTilingSet::RemoveTilesInRegion(const Region& region) {
|
| for (size_t i = 0; i < tilings_.size(); ++i)
|
| tilings_[i]->RemoveTilesInRegion(region);
|
| @@ -59,6 +71,7 @@ bool PictureLayerTilingSet::SyncTilings(const PictureLayerTilingSet& other,
|
| --i;
|
| }
|
|
|
| + DCHECK(raster_source_);
|
| bool have_high_res_tiling = false;
|
|
|
| // Add any missing tilings from |other| that meet the minimum.
|
| @@ -69,8 +82,8 @@ bool PictureLayerTilingSet::SyncTilings(const PictureLayerTilingSet& other,
|
| if (PictureLayerTiling* this_tiling = TilingAtScale(contents_scale)) {
|
| this_tiling->set_resolution(other.tilings_[i]->resolution());
|
|
|
| - this_tiling->UpdateTilesToCurrentRasterSource(layer_invalidation,
|
| - new_layer_bounds);
|
| + this_tiling->UpdateTilesToCurrentRasterSource(
|
| + raster_source_, layer_invalidation, new_layer_bounds);
|
| this_tiling->CreateMissingTilesInLiveTilesRect();
|
| if (this_tiling->resolution() == HIGH_RESOLUTION)
|
| have_high_res_tiling = true;
|
|
|