| Index: cc/layers/render_surface_impl.cc
|
| diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc
|
| index 0ac295fb4bb9c9dd57e30e68bae64c2067661f77..483ad01162f162a3b3410542126dc763746e5528 100644
|
| --- a/cc/layers/render_surface_impl.cc
|
| +++ b/cc/layers/render_surface_impl.cc
|
| @@ -33,8 +33,6 @@ namespace cc {
|
|
|
| RenderSurfaceImpl::RenderSurfaceImpl(LayerImpl* owning_layer)
|
| : owning_layer_(owning_layer),
|
| - layer_tree_impl_(owning_layer->layer_tree_impl()),
|
| - stable_effect_id_(owning_layer->id()),
|
| surface_property_changed_(false),
|
| ancestor_property_changed_(false),
|
| contributes_to_drawn_surface_(false),
|
| @@ -47,7 +45,8 @@ RenderSurfaceImpl::RenderSurfaceImpl(LayerImpl* owning_layer)
|
| RenderSurfaceImpl::~RenderSurfaceImpl() {}
|
|
|
| RenderSurfaceImpl* RenderSurfaceImpl::render_target() {
|
| - EffectTree& effect_tree = layer_tree_impl_->property_trees()->effect_tree;
|
| + EffectTree& effect_tree =
|
| + owning_layer_->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)
|
| @@ -58,7 +57,7 @@ RenderSurfaceImpl* RenderSurfaceImpl::render_target() {
|
|
|
| const RenderSurfaceImpl* RenderSurfaceImpl::render_target() const {
|
| const EffectTree& effect_tree =
|
| - layer_tree_impl_->property_trees()->effect_tree;
|
| + owning_layer_->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)
|
| @@ -118,12 +117,16 @@ SkColor RenderSurfaceImpl::GetDebugBorderColor() const {
|
| }
|
|
|
| float RenderSurfaceImpl::GetDebugBorderWidth() const {
|
| - return DebugColors::SurfaceBorderWidth(layer_tree_impl_);
|
| + return DebugColors::SurfaceBorderWidth(owning_layer_->layer_tree_impl());
|
| +}
|
| +
|
| +int RenderSurfaceImpl::OwningLayerId() const {
|
| + return owning_layer_ ? owning_layer_->id() : 0;
|
| }
|
|
|
| LayerImpl* RenderSurfaceImpl::MaskLayer() {
|
| int mask_layer_id = OwningEffectNode()->mask_layer_id;
|
| - return layer_tree_impl_->LayerById(mask_layer_id);
|
| + return owning_layer_->layer_tree_impl()->LayerById(mask_layer_id);
|
| }
|
|
|
| bool RenderSurfaceImpl::HasMask() const {
|
| @@ -159,12 +162,11 @@ int RenderSurfaceImpl::ClipTreeIndex() const {
|
| }
|
|
|
| int RenderSurfaceImpl::EffectTreeIndex() const {
|
| - return layer_tree_impl_->property_trees()
|
| - ->effect_id_to_index_map[stable_effect_id_];
|
| + return owning_layer_->effect_tree_index();
|
| }
|
|
|
| const EffectNode* RenderSurfaceImpl::OwningEffectNode() const {
|
| - return layer_tree_impl_->property_trees()->effect_tree.Node(
|
| + return owning_layer_->layer_tree_impl()->property_trees()->effect_tree.Node(
|
| EffectTreeIndex());
|
| }
|
|
|
| @@ -250,8 +252,9 @@ 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(
|
| - layer_tree_impl_->property_trees()->clip_tree.ViewportClip());
|
| + gfx::Rect viewport = gfx::ToEnclosingRect(owning_layer_->layer_tree_impl()
|
| + ->property_trees()
|
| + ->clip_tree.ViewportClip());
|
| SetContentRect(viewport);
|
| }
|
|
|
| @@ -308,7 +311,8 @@ bool RenderSurfaceImpl::SurfacePropertyChangedOnlyFromDescendant() const {
|
| }
|
|
|
| bool RenderSurfaceImpl::AncestorPropertyChanged() const {
|
| - const PropertyTrees* property_trees = layer_tree_impl_->property_trees();
|
| + const PropertyTrees* property_trees =
|
| + owning_layer_->layer_tree_impl()->property_trees();
|
| return ancestor_property_changed_ || property_trees->full_tree_damaged ||
|
| property_trees->transform_tree.Node(TransformTreeIndex())
|
| ->transform_changed ||
|
| @@ -357,7 +361,8 @@ void RenderSurfaceImpl::AppendQuads(RenderPass* render_pass,
|
| if (visible_layer_rect.IsEmpty())
|
| return;
|
|
|
| - const PropertyTrees* property_trees = layer_tree_impl_->property_trees();
|
| + const PropertyTrees* property_trees =
|
| + owning_layer_->layer_tree_impl()->property_trees();
|
| int sorting_context_id =
|
| property_trees->transform_tree.Node(TransformTreeIndex())
|
| ->sorting_context_id;
|
| @@ -368,7 +373,7 @@ void RenderSurfaceImpl::AppendQuads(RenderPass* render_pass,
|
| draw_properties_.clip_rect, draw_properties_.is_clipped,
|
| draw_properties_.draw_opacity, BlendMode(), sorting_context_id);
|
|
|
| - if (layer_tree_impl_->debug_state().show_debug_borders) {
|
| + if (owning_layer_->ShowDebugBorders()) {
|
| DebugBorderDrawQuad* debug_border_quad =
|
| render_pass->CreateAndAppendDrawQuad<DebugBorderDrawQuad>();
|
| debug_border_quad->SetNew(shared_quad_state, content_rect(),
|
|
|