diff options
author | vmpstr@chromium.org <vmpstr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-06 05:47:05 +0000 |
---|---|---|
committer | vmpstr@chromium.org <vmpstr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-06 05:47:05 +0000 |
commit | e03dc01dbfee786620c21944dc393ce89b8b34c4 (patch) | |
tree | f50fcfba130b6f6a11141805d7a0fa16b23c7cd9 /cc/resources/picture_layer_tiling.h | |
parent | 61949f628a7da3d98c6a4913eac026abcf6037ca (diff) | |
download | chromium_src-e03dc01dbfee786620c21944dc393ce89b8b34c4.zip chromium_src-e03dc01dbfee786620c21944dc393ce89b8b34c4.tar.gz chromium_src-e03dc01dbfee786620c21944dc393ce89b8b34c4.tar.bz2 |
cc: Remove vectors from tiling eviction tile iterator.
This patch removes vectors from the eviction tile
iterator at the layer level. It reworks the code
a bit to use the underlying layer's tilings
directly using indecies and ranges, instead of
constructing a separate vector to hold the
values.
As well, this ensures that the iterators
are only created when they are visited.
R=reveman
Review URL: https://codereview.chromium.org/428533008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287688 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/resources/picture_layer_tiling.h')
-rw-r--r-- | cc/resources/picture_layer_tiling.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/cc/resources/picture_layer_tiling.h b/cc/resources/picture_layer_tiling.h index 5aaadf1..7444d1e 100644 --- a/cc/resources/picture_layer_tiling.h +++ b/cc/resources/picture_layer_tiling.h @@ -108,24 +108,21 @@ class CC_EXPORT PictureLayerTiling { public: TilingEvictionTileIterator(); TilingEvictionTileIterator(PictureLayerTiling* tiling, - TreePriority tree_priority); + TreePriority tree_priority, + TilePriority::PriorityBin type, + bool required_for_activation); ~TilingEvictionTileIterator(); operator bool() const; const Tile* operator*() const; Tile* operator*(); TilingEvictionTileIterator& operator++(); - TilePriority::PriorityBin get_type() { - DCHECK(*this); - const TilePriority& priority = - (*tile_iterator_)->priority_for_tree_priority(tree_priority_); - return priority.priority_bin; - } private: PictureLayerTiling* tiling_; TreePriority tree_priority_; std::vector<Tile*>::iterator tile_iterator_; + std::vector<Tile*>* eviction_tiles_; }; ~PictureLayerTiling(); @@ -326,7 +323,10 @@ class CC_EXPORT PictureLayerTiling { bool has_soon_border_rect_tiles_; bool has_eventually_rect_tiles_; - std::vector<Tile*> eviction_tiles_cache_; + std::vector<Tile*> eventually_eviction_tiles_; + std::vector<Tile*> soon_eviction_tiles_; + std::vector<Tile*> now_required_for_activation_eviction_tiles_; + std::vector<Tile*> now_not_required_for_activation_eviction_tiles_; bool eviction_tiles_cache_valid_; TreePriority eviction_cache_tree_priority_; |