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

Unified Diff: cc/resources/picture_layer_tiling_set.h

Issue 812543002: Update from https://crrev.com/308331 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years 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
« no previous file with comments | « cc/resources/picture_layer_tiling_perftest.cc ('k') | cc/resources/picture_layer_tiling_set.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/resources/picture_layer_tiling_set.h
diff --git a/cc/resources/picture_layer_tiling_set.h b/cc/resources/picture_layer_tiling_set.h
index f0d0fd7890702ec8a0b4b149fa5216d2068ea004..4038b32d9a12c859e60c17925a038f56e16f30f1 100644
--- a/cc/resources/picture_layer_tiling_set.h
+++ b/cc/resources/picture_layer_tiling_set.h
@@ -38,31 +38,42 @@ class CC_EXPORT PictureLayerTilingSet {
};
static scoped_ptr<PictureLayerTilingSet> Create(
- PictureLayerTilingClient* client);
+ PictureLayerTilingClient* client,
+ size_t max_tiles_for_interest_area,
+ float skewport_target_time_in_seconds,
+ int skewport_extrapolation_limit_in_content);
~PictureLayerTilingSet();
- void SetClient(PictureLayerTilingClient* client);
const PictureLayerTilingClient* client() const { return client_; }
- void RemoveTilesInRegion(const Region& region);
void CleanUpTilings(float min_acceptable_high_res_scale,
float max_acceptable_high_res_scale,
const std::vector<PictureLayerTiling*>& needed_tilings,
bool should_have_low_res,
PictureLayerTilingSet* twin_set,
PictureLayerTilingSet* recycled_twin_set);
-
+ void RemoveNonIdealTilings();
// Make this set of tilings match the same set of content scales from |other|.
// Delete any tilings that don't meet |minimum_contents_scale|. Recreate
// any tiles that intersect |layer_invalidation|. Update the size of all
// tilings to |new_layer_bounds|.
// Returns true if we had at least one high res tiling synced.
- bool SyncTilings(const PictureLayerTilingSet& other,
- const gfx::Size& new_layer_bounds,
- const Region& layer_invalidation,
- float minimum_contents_scale,
- RasterSource* raster_source);
+ // TODO(danakj): Remove this !!!
+ bool SyncTilingsForTesting(const PictureLayerTilingSet& other,
+ const gfx::Size& new_layer_bounds,
+ const Region& layer_invalidation,
+ float minimum_contents_scale,
+ RasterSource* raster_source);
+
+ void UpdateTilingsToCurrentRasterSource(
+ RasterSource* raster_source,
+ const PictureLayerTilingSet* twin_set,
+ // TODO(danakj): Don't need to pass layer bounds here, we have the raster
+ // source already, and they are the same as the raster source size.
+ const gfx::Size& layer_bounds,
+ const Region& layer_invalidation,
+ float minimum_contents_scale);
PictureLayerTiling* AddTiling(float contents_scale,
const gfx::Size& layer_bounds);
@@ -89,6 +100,9 @@ class CC_EXPORT PictureLayerTilingSet {
// exist.
float GetMaximumContentsScale() const;
+ // Removes all tilings with a contents scale < |minimum_scale|.
+ void RemoveTilingsBelowScale(float minimum_scale);
+
// Remove all tilings.
void RemoveAllTilings();
@@ -155,14 +169,22 @@ class CC_EXPORT PictureLayerTilingSet {
TilingRange GetTilingRange(TilingRangeType type) const;
private:
- explicit PictureLayerTilingSet(PictureLayerTilingClient* client);
+ explicit PictureLayerTilingSet(
+ PictureLayerTilingClient* client,
+ size_t max_tiles_for_interest_area,
+ float skewport_target_time_in_seconds,
+ int skewport_extrapolation_limit_in_content_pixels);
// Remove one tiling.
void Remove(PictureLayerTiling* tiling);
- PictureLayerTilingClient* client_;
ScopedPtrVector<PictureLayerTiling> tilings_;
+ const size_t max_tiles_for_interest_area_;
+ const float skewport_target_time_in_seconds_;
+ const int skewport_extrapolation_limit_in_content_pixels_;
+ PictureLayerTilingClient* client_;
+
friend class Iterator;
DISALLOW_COPY_AND_ASSIGN(PictureLayerTilingSet);
};
« no previous file with comments | « cc/resources/picture_layer_tiling_perftest.cc ('k') | cc/resources/picture_layer_tiling_set.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698