summaryrefslogtreecommitdiffstats
path: root/cc/resources/picture_layer_tiling.h
diff options
context:
space:
mode:
authorvmpstr@chromium.org <vmpstr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-06 05:47:05 +0000
committervmpstr@chromium.org <vmpstr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-06 05:47:05 +0000
commite03dc01dbfee786620c21944dc393ce89b8b34c4 (patch)
treef50fcfba130b6f6a11141805d7a0fa16b23c7cd9 /cc/resources/picture_layer_tiling.h
parent61949f628a7da3d98c6a4913eac026abcf6037ca (diff)
downloadchromium_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.h16
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_;