Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(465)

Unified Diff: cc/resources/picture_layer_tiling_set.cc

Issue 716283003: cc: Remove GetRasterSource from PictureLayerTilingClient. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ::Create instead of ctor Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698