| Index: cc/resources/picture_layer_tiling.h
|
| diff --git a/cc/resources/picture_layer_tiling.h b/cc/resources/picture_layer_tiling.h
|
| index 37eea09cd95c506e6cce1fb95fd2cea229814c99..5508a13928c38d42f321e97112316c05a353a9b5 100644
|
| --- a/cc/resources/picture_layer_tiling.h
|
| +++ b/cc/resources/picture_layer_tiling.h
|
| @@ -57,13 +57,25 @@ class CC_EXPORT PictureLayerTiling {
|
| operator bool() const { return !!current_tile_; }
|
| const Tile* operator*() const { return current_tile_; }
|
| Tile* operator*() { return current_tile_; }
|
| - TilePriority::PriorityBin get_type() const { return type_; }
|
| + TilePriority::PriorityBin get_type() const {
|
| + switch (phase_) {
|
| + case VISIBLE_RECT:
|
| + return TilePriority::NOW;
|
| + case SKEWPORT_RECT:
|
| + case SOON_BORDER_RECT:
|
| + return TilePriority::SOON;
|
| + case EVENTUALLY_RECT:
|
| + return TilePriority::EVENTUALLY;
|
| + }
|
| + NOTREACHED();
|
| + return TilePriority::EVENTUALLY;
|
| + }
|
|
|
| TilingRasterTileIterator& operator++();
|
|
|
| gfx::Rect TileBounds() const {
|
| DCHECK(*this);
|
| - if (type_ == TilePriority::NOW) {
|
| + if (phase_ == VISIBLE_RECT) {
|
| return tiling_->tiling_data_.TileBounds(visible_iterator_.index_x(),
|
| visible_iterator_.index_y());
|
| }
|
| @@ -72,6 +84,13 @@ class CC_EXPORT PictureLayerTiling {
|
| }
|
|
|
| private:
|
| + enum Phase {
|
| + VISIBLE_RECT,
|
| + SKEWPORT_RECT,
|
| + SOON_BORDER_RECT,
|
| + EVENTUALLY_RECT
|
| + };
|
| +
|
| void AdvancePhase();
|
| bool TileNeedsRaster(Tile* tile) const {
|
| RasterMode mode = tile->DetermineRasterModeForTree(tree_);
|
| @@ -80,7 +99,7 @@ class CC_EXPORT PictureLayerTiling {
|
|
|
| PictureLayerTiling* tiling_;
|
|
|
| - TilePriority::PriorityBin type_;
|
| + Phase phase_;
|
| gfx::Rect visible_rect_in_content_space_;
|
| gfx::Rect skewport_in_content_space_;
|
| gfx::Rect eventually_rect_in_content_space_;
|
| @@ -90,7 +109,6 @@ class CC_EXPORT PictureLayerTiling {
|
| Tile* current_tile_;
|
| TilingData::Iterator visible_iterator_;
|
| TilingData::SpiralDifferenceIterator spiral_iterator_;
|
| - bool skewport_processed_;
|
| };
|
|
|
| class CC_EXPORT TilingEvictionTileIterator {
|
|
|