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

Side by Side Diff: cc/trees/property_tree_builder.cc

Issue 1544103002: Determine a layer's IsAffectedByPageScale property without using Layer Tree (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/property_tree_builder.h" 5 #include "cc/trees/property_tree_builder.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 data_for_children->axis_align_since_render_target = true; 621 data_for_children->axis_align_since_render_target = true;
622 } 622 }
623 return should_create_render_surface; 623 return should_create_render_surface;
624 } 624 }
625 625
626 template <typename LayerType> 626 template <typename LayerType>
627 void BuildPropertyTreesInternal( 627 void BuildPropertyTreesInternal(
628 LayerType* layer, 628 LayerType* layer,
629 const DataForRecursion<LayerType>& data_from_parent) { 629 const DataForRecursion<LayerType>& data_from_parent) {
630 layer->set_property_tree_sequence_number(data_from_parent.sequence_number); 630 layer->set_property_tree_sequence_number(data_from_parent.sequence_number);
631 if (layer->mask_layer())
632 layer->mask_layer()->set_property_tree_sequence_number(
633 data_from_parent.sequence_number);
634
631 DataForRecursion<LayerType> data_for_children(data_from_parent); 635 DataForRecursion<LayerType> data_for_children(data_from_parent);
632 636
633 bool created_render_surface = 637 bool created_render_surface =
634 AddEffectNodeIfNeeded(data_from_parent, layer, &data_for_children); 638 AddEffectNodeIfNeeded(data_from_parent, layer, &data_for_children);
635 639
636 if (created_render_surface) { 640 if (created_render_surface) {
637 data_for_children.render_target = data_for_children.effect_tree_parent; 641 data_for_children.render_target = data_for_children.effect_tree_parent;
638 layer->set_draw_blend_mode(SkXfermode::kSrcOver_Mode); 642 layer->set_draw_blend_mode(SkXfermode::kSrcOver_Mode);
639 } else { 643 } else {
640 layer->set_draw_blend_mode(layer->blend_mode()); 644 layer->set_draw_blend_mode(layer->blend_mode());
641 } 645 }
642 646
647 if (layer == data_from_parent.page_scale_layer)
648 data_for_children.in_subtree_of_page_scale_layer = true;
ajuma 2015/12/23 22:17:04 Nit: How about moving this inside AddTransformNode
649
643 bool created_transform_node = AddTransformNodeIfNeeded( 650 bool created_transform_node = AddTransformNodeIfNeeded(
644 data_from_parent, layer, created_render_surface, &data_for_children); 651 data_from_parent, layer, created_render_surface, &data_for_children);
645 AddClipNodeIfNeeded(data_from_parent, layer, created_render_surface, 652 AddClipNodeIfNeeded(data_from_parent, layer, created_render_surface,
646 created_transform_node, &data_for_children); 653 created_transform_node, &data_for_children);
647 654
648 if (layer == data_from_parent.page_scale_layer)
649 data_for_children.in_subtree_of_page_scale_layer = true;
650
651 data_for_children.is_hidden = 655 data_for_children.is_hidden =
652 layer->hide_layer_and_subtree() || data_from_parent.is_hidden; 656 layer->hide_layer_and_subtree() || data_from_parent.is_hidden;
653 layer->set_is_hidden_from_property_trees(data_for_children.is_hidden); 657 layer->set_is_hidden_from_property_trees(data_for_children.is_hidden);
654 658
655 for (size_t i = 0; i < layer->children().size(); ++i) { 659 for (size_t i = 0; i < layer->children().size(); ++i) {
656 if (!layer->child_at(i)->scroll_parent()) { 660 if (!layer->child_at(i)->scroll_parent()) {
657 BuildPropertyTreesInternal(layer->child_at(i), data_for_children); 661 BuildPropertyTreesInternal(layer->child_at(i), data_for_children);
658 } else { 662 } else {
659 // The child should be included in its scroll parent's list of scroll 663 // The child should be included in its scroll parent's list of scroll
660 // children. 664 // children.
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
785 const gfx::Transform& device_transform, 789 const gfx::Transform& device_transform,
786 PropertyTrees* property_trees) { 790 PropertyTrees* property_trees) {
787 BuildPropertyTreesTopLevelInternal( 791 BuildPropertyTreesTopLevelInternal(
788 root_layer, page_scale_layer, inner_viewport_scroll_layer, 792 root_layer, page_scale_layer, inner_viewport_scroll_layer,
789 outer_viewport_scroll_layer, overscroll_elasticity_layer, 793 outer_viewport_scroll_layer, overscroll_elasticity_layer,
790 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, 794 elastic_overscroll, page_scale_factor, device_scale_factor, viewport,
791 device_transform, property_trees); 795 device_transform, property_trees);
792 } 796 }
793 797
794 } // namespace cc 798 } // namespace cc
OLDNEW
« cc/layers/heads_up_display_layer_impl_unittest.cc ('K') | « cc/layers/picture_layer_impl_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698