Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3104)

Unified Diff: cc/layers/render_surface_impl.cc

Issue 2460413003: cc: Remove more references to owning_layer_ from RenderSurfaceImpl (Closed)
Patch Set: Address review comment Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layers/render_surface_impl.h ('k') | cc/trees/damage_tracker.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..0ac295fb4bb9c9dd57e30e68bae64c2067661f77 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_id_(owning_layer->id()),
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_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(),
« no previous file with comments | « cc/layers/render_surface_impl.h ('k') | cc/trees/damage_tracker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698