Chromium Code Reviews| Index: cc/layers/layer_impl.cc |
| diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc |
| index 48a8f50176c617bef0e28cafe92f1681b2435647..57b4f6c495314903a526f05d705253a06de27f29 100644 |
| --- a/cc/layers/layer_impl.cc |
| +++ b/cc/layers/layer_impl.cc |
| @@ -160,6 +160,15 @@ void LayerImpl::SetEffectTreeIndex(int index) { |
| effect_tree_index_ = index; |
| } |
| +int LayerImpl::render_target_effect_tree_index() const { |
| + EffectNode* effect_node = |
| + layer_tree_impl_->property_trees()->effect_tree.Node(effect_tree_index_); |
| + if (effect_node->has_render_surface) |
| + return effect_node->id; |
| + else |
| + return effect_node->target_id; |
| +} |
| + |
| void LayerImpl::SetScrollTreeIndex(int index) { |
| scroll_tree_index_ = index; |
| } |
| @@ -1143,23 +1152,22 @@ gfx::Rect LayerImpl::GetScaledEnclosingRectInTargetSpace(float scale) const { |
| RenderSurfaceImpl* LayerImpl::render_target() { |
| EffectTree& effect_tree = layer_tree_impl_->property_trees()->effect_tree; |
| - EffectNode* node = effect_tree.Node(effect_tree_index_); |
| - |
| - if (node->render_surface) |
| - return node->render_surface; |
| + EffectNode* effect_node = effect_tree.Node(render_target_effect_tree_index()); |
| + if (effect_node->render_surface) |
| + return effect_node->render_surface; |
| else |
| - return effect_tree.Node(node->target_id)->render_surface; |
| + return effect_tree.Node(effect_node->target_id)->render_surface; |
| } |
| const RenderSurfaceImpl* LayerImpl::render_target() const { |
| const EffectTree& effect_tree = |
| layer_tree_impl_->property_trees()->effect_tree; |
| - const EffectNode* node = effect_tree.Node(effect_tree_index_); |
| - |
| - if (node->render_surface) |
| - return node->render_surface; |
| + const EffectNode* effect_node = |
| + effect_tree.Node(render_target_effect_tree_index()); |
| + if (effect_node->render_surface) |
| + return effect_node->render_surface; |
| else |
| - return effect_tree.Node(node->target_id)->render_surface; |
| + return effect_tree.Node(effect_node->target_id)->render_surface; |
|
jaydasika
2016/07/21 22:03:34
Is this change required ? If target_effect_tree_in
sunxd
2016/07/22 14:41:17
The render_target function is sometimes called bef
ajuma
2016/07/22 15:05:48
What's an example of such a callsite? One thing to
sunxd
2016/07/22 15:32:14
I think that's when we cannot render to separate s
|
| } |
| bool LayerImpl::IsHidden() const { |