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

Unified Diff: cc/layers/picture_layer_impl.h

Issue 895853003: Update from https://crrev.com/314320 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 11 months 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/layers/picture_layer.cc ('k') | cc/layers/picture_layer_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/picture_layer_impl.h
diff --git a/cc/layers/picture_layer_impl.h b/cc/layers/picture_layer_impl.h
index 86f142457521e2e49fa77577bdc2291d58be0d13..fa406839fc3e304b25969972de5b187f7cbed1ed 100644
--- a/cc/layers/picture_layer_impl.h
+++ b/cc/layers/picture_layer_impl.h
@@ -38,10 +38,13 @@ class CC_EXPORT PictureLayerImpl
PictureLayerImpl* pending;
};
- static scoped_ptr<PictureLayerImpl> Create(LayerTreeImpl* tree_impl,
- int id,
- bool is_mask) {
- return make_scoped_ptr(new PictureLayerImpl(tree_impl, id, is_mask));
+ static scoped_ptr<PictureLayerImpl> Create(
+ LayerTreeImpl* tree_impl,
+ int id,
+ bool is_mask,
+ scoped_refptr<SyncedScrollOffset> scroll_offset) {
+ return make_scoped_ptr(
+ new PictureLayerImpl(tree_impl, id, is_mask, scroll_offset));
}
~PictureLayerImpl() override;
@@ -97,8 +100,6 @@ class CC_EXPORT PictureLayerImpl
bool IsOnActiveOrPendingTree() const;
// Virtual for testing.
virtual bool HasValidTilePriorities() const;
- bool AllTilesRequiredForActivationAreReadyToDraw() const;
- bool AllTilesRequiredForDrawAreReadyToDraw() const;
// Used for benchmarking
RasterSource* GetRasterSource() const { return raster_source_.get(); }
@@ -107,7 +108,10 @@ class CC_EXPORT PictureLayerImpl
friend class LayerRasterTileIterator;
using TileRequirementCheck = bool (PictureLayerTiling::*)(const Tile*) const;
- PictureLayerImpl(LayerTreeImpl* tree_impl, int id, bool is_mask);
+ PictureLayerImpl(LayerTreeImpl* tree_impl,
+ int id,
+ bool is_mask,
+ scoped_refptr<SyncedScrollOffset> scroll_offset);
PictureLayerTiling* AddTiling(float contents_scale);
void RemoveAllTilings();
void AddTilingsForRasterScale();
@@ -115,7 +119,7 @@ class CC_EXPORT PictureLayerImpl
virtual bool ShouldAdjustRasterScale() const;
virtual void RecalculateRasterScales();
void CleanUpTilingsOnActiveLayer(
- std::vector<PictureLayerTiling*> used_tilings);
+ const std::vector<PictureLayerTiling*>& used_tilings);
float MinimumContentsScale() const;
float MaximumContentsScale() const;
void ResetRasterScale();
@@ -123,12 +127,6 @@ class CC_EXPORT PictureLayerImpl
PictureLayerImpl* GetRecycledTwinLayer() const;
void SanityCheckTilingState() const;
- // Checks if all tiles required for a certain action (e.g. activation) are
- // ready to draw. is_tile_required_callback gets called on all candidate
- // tiles and returns true if the tile is required for the action.
- bool AllTilesRequiredAreReadyToDraw(
- TileRequirementCheck is_tile_required_callback) const;
-
bool ShouldAdjustRasterScaleDuringScaleAnimations() const;
void GetDebugBorderProperties(SkColor* color, float* width) const override;
@@ -172,6 +170,13 @@ class CC_EXPORT PictureLayerImpl
gfx::Rect visible_rect_for_tile_priority_;
gfx::Rect viewport_rect_for_tile_priority_in_content_space_;
+ // List of tilings that were used last time we appended quads. This can be
+ // used as an optimization not to remove tilings if they are still being
+ // drawn. Note that accessing this vector should only be done in the context
+ // of comparing pointers, since objects pointed to are not guaranteed to
+ // exist.
+ std::vector<PictureLayerTiling*> last_append_quads_tilings_;
+
DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl);
};
« no previous file with comments | « cc/layers/picture_layer.cc ('k') | cc/layers/picture_layer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698