Chromium Code Reviews| Index: cc/layers/picture_layer_impl.cc | 
| diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc | 
| index 39c0cb9e9d1dc01bd898583ec5b5de74078cfa67..7e7666fba5a6a76fd875d5207001ba902704441d 100644 | 
| --- a/cc/layers/picture_layer_impl.cc | 
| +++ b/cc/layers/picture_layer_impl.cc | 
| @@ -179,10 +179,10 @@ void PictureLayerImpl::AppendQuads(QuadSink* quad_sink, | 
| } else if (mode == ManagedTileState::TileVersion::PICTURE_PILE_MODE) { | 
| color = DebugColors::PictureTileBorderColor(); | 
| width = DebugColors::PictureTileBorderWidth(layer_tree_impl()); | 
| - } else if (iter->priority(ACTIVE_TREE).resolution == HIGH_RESOLUTION) { | 
| + } else if (iter.priority().resolution == HIGH_RESOLUTION) { | 
| color = DebugColors::HighResTileBorderColor(); | 
| width = DebugColors::HighResTileBorderWidth(layer_tree_impl()); | 
| - } else if (iter->priority(ACTIVE_TREE).resolution == LOW_RESOLUTION) { | 
| + } else if (iter.priority().resolution == LOW_RESOLUTION) { | 
| color = DebugColors::LowResTileBorderColor(); | 
| width = DebugColors::LowResTileBorderWidth(layer_tree_impl()); | 
| } else if (iter->contents_scale() > contents_scale_x()) { | 
| @@ -479,6 +479,11 @@ scoped_refptr<Tile> PictureLayerImpl::CreateTile(PictureLayerTiling* tiling, | 
| is_using_lcd_text_); | 
| } | 
| +scoped_refptr<TileBundle> PictureLayerImpl::CreateTileBundle( | 
| + gfx::Rect bundle_rect) { | 
| + return layer_tree_impl()->tile_manager()->CreateTileBundle(bundle_rect); | 
| +} | 
| + | 
| void PictureLayerImpl::UpdatePile(Tile* tile) { | 
| tile->set_picture_pile(pile_); | 
| } | 
| @@ -499,6 +504,14 @@ const PictureLayerTiling* PictureLayerImpl::GetTwinTiling( | 
| return NULL; | 
| } | 
| +bool PictureLayerImpl::IsActive() const { | 
| 
 
enne (OOO)
2013/11/27 01:38:05
What did you think about my suggestion to remove t
 
vmpstr
2013/11/27 21:09:36
Sorry, I thought I replied to this one. I don't mi
 
enne (OOO)
2013/11/27 22:21:15
You could set the tiling to be pending when it bec
 
 | 
| + return layer_tree_impl()->IsActiveTree(); | 
| +} | 
| + | 
| +bool PictureLayerImpl::IsPending() const { | 
| + return layer_tree_impl()->IsPendingTree(); | 
| +} | 
| + | 
| gfx::Size PictureLayerImpl::CalculateTileSize( | 
| gfx::Size content_bounds) const { | 
| if (is_mask_) { | 
| @@ -712,7 +725,7 @@ void PictureLayerImpl::MarkVisibleResourcesAsRequired() const { | 
| // This iteration is over the visible content rect which is potentially | 
| // less conservative than projecting the viewport into the layer. | 
| // Ignore tiles that are know to be outside the viewport. | 
| - if (iter->priority(PENDING_TREE).distance_to_visible_in_pixels != 0) | 
| + if (iter.priority().distance_to_visible_in_pixels != 0) | 
| continue; | 
| missing_region.Subtract(iter.geometry_rect()); | 
| @@ -762,6 +775,8 @@ bool PictureLayerImpl::MarkVisibleTilesAsRequired( | 
| float contents_scale, | 
| gfx::Rect rect, | 
| Region* missing_region) const { | 
| + DCHECK(layer_tree_impl()->IsPendingTree()); | 
| + | 
| bool twin_had_missing_tile = false; | 
| for (PictureLayerTiling::CoverageIterator iter(tiling, | 
| contents_scale, | 
| @@ -776,7 +791,7 @@ bool PictureLayerImpl::MarkVisibleTilesAsRequired( | 
| // This iteration is over the visible content rect which is potentially | 
| // less conservative than projecting the viewport into the layer. | 
| // Ignore tiles that are know to be outside the viewport. | 
| - if (tile->priority(PENDING_TREE).distance_to_visible_in_pixels != 0) | 
| + if (iter.priority().distance_to_visible_in_pixels != 0) | 
| continue; | 
| // If the missing region doesn't cover it, this tile is fully | 
| @@ -787,7 +802,8 @@ bool PictureLayerImpl::MarkVisibleTilesAsRequired( | 
| // If the twin tile isn't ready to draw, then this tile isn't | 
| // required to prevent flashing. | 
| if (optional_twin_tiling) { | 
| - Tile* twin_tile = optional_twin_tiling->TileAt(iter.i(), iter.j()); | 
| + Tile* twin_tile = | 
| + optional_twin_tiling->TileAt(ACTIVE_TREE, iter.i(), iter.j()); | 
| if (!twin_tile || !twin_tile->IsReadyToDraw()) { | 
| twin_had_missing_tile = true; | 
| continue; |