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

Unified Diff: cc/layers/picture_layer_impl.h

Issue 257773009: cc: Change required_for_activation bookkeeping. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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
Index: cc/layers/picture_layer_impl.h
diff --git a/cc/layers/picture_layer_impl.h b/cc/layers/picture_layer_impl.h
index cd7c68b32a42bec85d1f868f4d0c1c153e577cf3..f01d835029b93927648db26626e0dec6ff855db4 100644
--- a/cc/layers/picture_layer_impl.h
+++ b/cc/layers/picture_layer_impl.h
@@ -92,6 +92,7 @@ class CC_EXPORT PictureLayerImpl
virtual void AppendQuads(QuadSink* quad_sink,
AppendQuadsData* append_quads_data) OVERRIDE;
virtual void UpdateTilePriorities() OVERRIDE;
+ virtual void NotifyTileInitialized(const Tile* tile) OVERRIDE;
virtual void DidBecomeActive() OVERRIDE;
virtual void DidBeginTracing() OVERRIDE;
virtual void ReleaseResources() OVERRIDE;
@@ -139,6 +140,14 @@ class CC_EXPORT PictureLayerImpl
WhichTree GetTree() const;
bool IsOnActiveOrPendingTree() const;
+ // Return the count of tiles on this layer that meet both of the following
+ // conditions:
+ // 1. The tile is required for activation.
+ // 2. The tile needs initialization (ie, it's not ready to draw).
+ size_t UninitializedTilesRequiredForActivationCount() const {
+ return uninitialized_tiles_required_for_activation_count_;
+ }
+
protected:
friend class LayerRasterTileIterator;
@@ -162,13 +171,13 @@ class CC_EXPORT PictureLayerImpl
float SnappedContentsScale(float new_contents_scale);
void UpdateLCDTextStatus(bool new_status);
void ResetRasterScale();
- void MarkVisibleResourcesAsRequired() const;
+ void MarkVisibleResourcesAsRequired();
bool MarkVisibleTilesAsRequired(
PictureLayerTiling* tiling,
const PictureLayerTiling* optional_twin_tiling,
float contents_scale,
const gfx::Rect& rect,
- const Region& missing_region) const;
+ const Region& missing_region);
void DoPostCommitInitializationIfNeeded() {
if (needs_post_commit_initialization_)
@@ -220,6 +229,8 @@ class CC_EXPORT PictureLayerImpl
gfx::Size viewport_size_for_tile_priority_;
gfx::Transform screen_space_transform_for_tile_priority_;
+ size_t uninitialized_tiles_required_for_activation_count_;
enne (OOO) 2014/04/29 19:44:19 Ah, I think I get it, because TileManager has no g
vmpstr 2014/04/29 22:56:20 Ya, that's exactly right. The plan is to not have
+
friend class PictureLayer;
DISALLOW_COPY_AND_ASSIGN(PictureLayerImpl);
};

Powered by Google App Engine
This is Rietveld 408576698