Chromium Code Reviews| Index: cc/layers/render_surface_impl.cc |
| diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc |
| index 483ad01162f162a3b3410542126dc763746e5528..e66ac2ec5c52bf7ec99968be70199b388c8a7f23 100644 |
| --- a/cc/layers/render_surface_impl.cc |
| +++ b/cc/layers/render_surface_impl.cc |
| @@ -33,6 +33,8 @@ namespace cc { |
| RenderSurfaceImpl::RenderSurfaceImpl(LayerImpl* owning_layer) |
| : owning_layer_(owning_layer), |
| + layer_tree_impl_(owning_layer->layer_tree_impl()), |
| + stable_effect_node_id_(owning_layer->id()), |
|
jaydasika
2016/10/31 23:12:00
nit : The node in 'stable_effect_node_id' is confu
ajuma
2016/10/31 23:26:00
Done.
|
| surface_property_changed_(false), |
| ancestor_property_changed_(false), |
| contributes_to_drawn_surface_(false), |
| @@ -45,8 +47,7 @@ RenderSurfaceImpl::RenderSurfaceImpl(LayerImpl* owning_layer) |
| RenderSurfaceImpl::~RenderSurfaceImpl() {} |
| RenderSurfaceImpl* RenderSurfaceImpl::render_target() { |
| - EffectTree& effect_tree = |
| - owning_layer_->layer_tree_impl()->property_trees()->effect_tree; |
| + EffectTree& effect_tree = layer_tree_impl_->property_trees()->effect_tree; |
| EffectNode* node = effect_tree.Node(EffectTreeIndex()); |
| EffectNode* target_node = effect_tree.Node(node->target_id); |
| if (target_node->id != 0) |
| @@ -57,7 +58,7 @@ RenderSurfaceImpl* RenderSurfaceImpl::render_target() { |
| const RenderSurfaceImpl* RenderSurfaceImpl::render_target() const { |
| const EffectTree& effect_tree = |
| - owning_layer_->layer_tree_impl()->property_trees()->effect_tree; |
| + layer_tree_impl_->property_trees()->effect_tree; |
| const EffectNode* node = effect_tree.Node(EffectTreeIndex()); |
| const EffectNode* target_node = effect_tree.Node(node->target_id); |
| if (target_node->id != 0) |
| @@ -117,16 +118,12 @@ SkColor RenderSurfaceImpl::GetDebugBorderColor() const { |
| } |
| float RenderSurfaceImpl::GetDebugBorderWidth() const { |
| - return DebugColors::SurfaceBorderWidth(owning_layer_->layer_tree_impl()); |
| -} |
| - |
| -int RenderSurfaceImpl::OwningLayerId() const { |
| - return owning_layer_ ? owning_layer_->id() : 0; |
| + return DebugColors::SurfaceBorderWidth(layer_tree_impl_); |
| } |
| LayerImpl* RenderSurfaceImpl::MaskLayer() { |
| int mask_layer_id = OwningEffectNode()->mask_layer_id; |
| - return owning_layer_->layer_tree_impl()->LayerById(mask_layer_id); |
| + return layer_tree_impl_->LayerById(mask_layer_id); |
| } |
| bool RenderSurfaceImpl::HasMask() const { |
| @@ -162,11 +159,12 @@ int RenderSurfaceImpl::ClipTreeIndex() const { |
| } |
| int RenderSurfaceImpl::EffectTreeIndex() const { |
| - return owning_layer_->effect_tree_index(); |
| + return layer_tree_impl_->property_trees() |
| + ->effect_id_to_index_map[stable_effect_node_id_]; |
| } |
| const EffectNode* RenderSurfaceImpl::OwningEffectNode() const { |
| - return owning_layer_->layer_tree_impl()->property_trees()->effect_tree.Node( |
| + return layer_tree_impl_->property_trees()->effect_tree.Node( |
| EffectTreeIndex()); |
| } |
| @@ -252,9 +250,8 @@ void RenderSurfaceImpl::CalculateContentRectFromAccumulatedContentRect( |
| void RenderSurfaceImpl::SetContentRectToViewport() { |
| // Only root render surface use viewport as content rect. |
| DCHECK_EQ(render_target(), this); |
| - gfx::Rect viewport = gfx::ToEnclosingRect(owning_layer_->layer_tree_impl() |
| - ->property_trees() |
| - ->clip_tree.ViewportClip()); |
| + gfx::Rect viewport = gfx::ToEnclosingRect( |
| + layer_tree_impl_->property_trees()->clip_tree.ViewportClip()); |
| SetContentRect(viewport); |
| } |
| @@ -311,8 +308,7 @@ bool RenderSurfaceImpl::SurfacePropertyChangedOnlyFromDescendant() const { |
| } |
| bool RenderSurfaceImpl::AncestorPropertyChanged() const { |
| - const PropertyTrees* property_trees = |
| - owning_layer_->layer_tree_impl()->property_trees(); |
| + const PropertyTrees* property_trees = layer_tree_impl_->property_trees(); |
| return ancestor_property_changed_ || property_trees->full_tree_damaged || |
| property_trees->transform_tree.Node(TransformTreeIndex()) |
| ->transform_changed || |
| @@ -361,8 +357,7 @@ void RenderSurfaceImpl::AppendQuads(RenderPass* render_pass, |
| if (visible_layer_rect.IsEmpty()) |
| return; |
| - const PropertyTrees* property_trees = |
| - owning_layer_->layer_tree_impl()->property_trees(); |
| + const PropertyTrees* property_trees = layer_tree_impl_->property_trees(); |
| int sorting_context_id = |
| property_trees->transform_tree.Node(TransformTreeIndex()) |
| ->sorting_context_id; |
| @@ -373,7 +368,7 @@ void RenderSurfaceImpl::AppendQuads(RenderPass* render_pass, |
| draw_properties_.clip_rect, draw_properties_.is_clipped, |
| draw_properties_.draw_opacity, BlendMode(), sorting_context_id); |
| - if (owning_layer_->ShowDebugBorders()) { |
| + if (layer_tree_impl_->debug_state().show_debug_borders) { |
| DebugBorderDrawQuad* debug_border_quad = |
| render_pass->CreateAndAppendDrawQuad<DebugBorderDrawQuad>(); |
| debug_border_quad->SetNew(shared_quad_state, content_rect(), |