summaryrefslogtreecommitdiffstats
path: root/cc/resources/picture_layer_tiling.cc
diff options
context:
space:
mode:
authorenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-18 17:57:41 +0000
committerenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-18 17:57:41 +0000
commit16934b7aa15187f9bd06008cb656797a38fffa34 (patch)
tree9986130919b488742f42b90642cde98312f67d01 /cc/resources/picture_layer_tiling.cc
parentcf868dc8314e57ee86465ad5b804eb9de15b320e (diff)
downloadchromium_src-16934b7aa15187f9bd06008cb656797a38fffa34.zip
chromium_src-16934b7aa15187f9bd06008cb656797a38fffa34.tar.gz
chromium_src-16934b7aa15187f9bd06008cb656797a38fffa34.tar.bz2
cc: Add a tiling iterator that doesn't include borders
This iterator is needed to reland https://codereview.chromium.org/196343005/ correctly, as whether or not a set of picture tiles can raster a particular rect needs to ignore borders. BUG=353346 Review URL: https://codereview.chromium.org/202753002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257688 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/resources/picture_layer_tiling.cc')
-rw-r--r--cc/resources/picture_layer_tiling.cc19
1 files changed, 15 insertions, 4 deletions
diff --git a/cc/resources/picture_layer_tiling.cc b/cc/resources/picture_layer_tiling.cc
index 3604465..356ac1b 100644
--- a/cc/resources/picture_layer_tiling.cc
+++ b/cc/resources/picture_layer_tiling.cc
@@ -111,7 +111,10 @@ void PictureLayerTiling::SetCanUseLCDText(bool can_use_lcd_text) {
void PictureLayerTiling::CreateMissingTilesInLiveTilesRect() {
const PictureLayerTiling* twin_tiling = client_->GetTwinTiling(this);
- for (TilingData::Iterator iter(&tiling_data_, live_tiles_rect_); iter;
+ bool include_borders = true;
+ for (TilingData::Iterator iter(
+ &tiling_data_, live_tiles_rect_, include_borders);
+ iter;
++iter) {
TileMapKey key = iter.index();
TileMap::iterator find = tiles_.find(key);
@@ -162,7 +165,11 @@ void PictureLayerTiling::Invalidate(const Region& layer_region) {
content_rect.Intersect(live_tiles_rect_);
if (content_rect.IsEmpty())
continue;
- for (TilingData::Iterator iter(&tiling_data_, content_rect); iter; ++iter) {
+ bool include_borders = true;
+ for (TilingData::Iterator iter(
+ &tiling_data_, content_rect, include_borders);
+ iter;
+ ++iter) {
TileMapKey key(iter.index());
TileMap::iterator find = tiles_.find(key);
if (find == tiles_.end())
@@ -435,7 +442,9 @@ void PictureLayerTiling::UpdateTilePriorities(
1.0f / (contents_scale_ * layer_contents_scale);
// Assign now priority to all visible tiles.
- for (TilingData::Iterator iter(&tiling_data_, visible_rect_in_content_space);
+ bool include_borders = true;
+ for (TilingData::Iterator iter(
+ &tiling_data_, visible_rect_in_content_space, include_borders);
iter;
++iter) {
TileMap::iterator find = tiles_.find(iter.index());
@@ -737,7 +746,9 @@ PictureLayerTiling::TilingRasterTileIterator::TilingRasterTileIterator(
eventually_rect_in_content_space_(tiling_->current_eventually_rect_),
tree_(tree),
current_tile_(NULL),
- visible_iterator_(&tiling->tiling_data_, visible_rect_in_content_space_),
+ visible_iterator_(&tiling->tiling_data_,
+ visible_rect_in_content_space_,
+ true /* include_borders */),
spiral_iterator_(&tiling->tiling_data_,
skewport_in_content_space_,
visible_rect_in_content_space_,