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(), |