diff options
author | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-12 04:06:10 +0000 |
---|---|---|
committer | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-12 04:06:10 +0000 |
commit | 976389f542248374930ecc1c919e6692cda8f7f2 (patch) | |
tree | 3ee3fc52089628a0622b451e501144a755a98417 /cc/picture_layer_tiling.h | |
parent | 678ff64f0d33e9bc3739f69ce2263858c912a573 (diff) | |
download | chromium_src-976389f542248374930ecc1c919e6692cda8f7f2.zip chromium_src-976389f542248374930ecc1c919e6692cda8f7f2.tar.gz chromium_src-976389f542248374930ecc1c919e6692cda8f7f2.tar.bz2 |
cc: Fix invalidation problems in impl-side painting
The PictureLayerTiling iterator used to stop when it hit a null tile
rather than iterating through null tiles. So, some invalidations were
ignored because the iterator would hit a null tile from a previous
invalidation rect on the same frame and abort.
This is fixed by making the PictureLayerTiling iterator walk over all i,
j pairs, regardless of whether there is a tile there or not. The
PictureLayerTilingSet iteration is also made robust to this possibility.
R=nduca@chromium.org
BUG=165246, 165336
Review URL: https://chromiumcodereview.appspot.com/11555002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172519 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/picture_layer_tiling.h')
-rw-r--r-- | cc/picture_layer_tiling.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cc/picture_layer_tiling.h b/cc/picture_layer_tiling.h index 4eeb9ba..5d46c2f 100644 --- a/cc/picture_layer_tiling.h +++ b/cc/picture_layer_tiling.h @@ -63,7 +63,7 @@ class CC_EXPORT PictureLayerTiling { Tile* operator*() const { return current_tile_; } Iterator& operator++(); - operator bool() const { return current_tile_; } + operator bool() const { return tile_j_ <= bottom_; } private: PictureLayerTiling* tiling_; |