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

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

Issue 2753933005: cc: Move Layer Id to Node Map to Individual Property Tree Private (Closed)
Patch Set: renaming clean up Created 3 years, 9 months 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
« no previous file with comments | « cc/trees/layer_tree_host_unittest.cc ('k') | cc/trees/property_tree.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/layer_tree_impl.h" 5 #include "cc/trees/layer_tree_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after
717 // animations into their own trees. Then scrolls and animations would have 717 // animations into their own trees. Then scrolls and animations would have
718 // their own ways of synchronizing across commits. This occurs to push 718 // their own ways of synchronizing across commits. This occurs to push
719 // updates from scrolling deltas on the compositor thread that have occurred 719 // updates from scrolling deltas on the compositor thread that have occurred
720 // after begin frame and updates from animations that have ticked since begin 720 // after begin frame and updates from animations that have ticked since begin
721 // frame to a newly-committed property tree. 721 // frame to a newly-committed property tree.
722 if (layer_list_.empty()) 722 if (layer_list_.empty())
723 return; 723 return;
724 std::vector<int> layer_ids_to_remove; 724 std::vector<int> layer_ids_to_remove;
725 for (auto& layer_id_to_opacity : opacity_animations_map_) { 725 for (auto& layer_id_to_opacity : opacity_animations_map_) {
726 const int id = layer_id_to_opacity.first; 726 const int id = layer_id_to_opacity.first;
727 if (property_trees_.IsInIdToIndexMap(PropertyTrees::TreeType::EFFECT, id)) { 727 if (EffectNode* node =
728 EffectNode* node = property_trees_.effect_tree.Node( 728 property_trees_.effect_tree.FindNodeFromOwningLayerId(id)) {
729 property_trees_.layer_id_to_effect_node_index[id]);
730 if (!node->is_currently_animating_opacity || 729 if (!node->is_currently_animating_opacity ||
731 node->opacity == layer_id_to_opacity.second) { 730 node->opacity == layer_id_to_opacity.second) {
732 layer_ids_to_remove.push_back(id); 731 layer_ids_to_remove.push_back(id);
733 continue; 732 continue;
734 } 733 }
735 node->opacity = layer_id_to_opacity.second; 734 node->opacity = layer_id_to_opacity.second;
736 property_trees_.effect_tree.set_needs_update(true); 735 property_trees_.effect_tree.set_needs_update(true);
737 } 736 }
738 } 737 }
739 for (auto id : layer_ids_to_remove) 738 for (auto id : layer_ids_to_remove)
740 opacity_animations_map_.erase(id); 739 opacity_animations_map_.erase(id);
741 layer_ids_to_remove.clear(); 740 layer_ids_to_remove.clear();
742 741
743 for (auto& layer_id_to_transform : transform_animations_map_) { 742 for (auto& layer_id_to_transform : transform_animations_map_) {
744 const int id = layer_id_to_transform.first; 743 const int id = layer_id_to_transform.first;
745 if (property_trees_.IsInIdToIndexMap(PropertyTrees::TreeType::TRANSFORM, 744 if (TransformNode* node =
746 id)) { 745 property_trees_.transform_tree.FindNodeFromOwningLayerId(id)) {
747 TransformNode* node = property_trees_.transform_tree.Node(
748 property_trees_.layer_id_to_transform_node_index[id]);
749 if (!node->is_currently_animating || 746 if (!node->is_currently_animating ||
750 node->local == layer_id_to_transform.second) { 747 node->local == layer_id_to_transform.second) {
751 layer_ids_to_remove.push_back(id); 748 layer_ids_to_remove.push_back(id);
752 continue; 749 continue;
753 } 750 }
754 node->local = layer_id_to_transform.second; 751 node->local = layer_id_to_transform.second;
755 node->needs_local_transform_update = true; 752 node->needs_local_transform_update = true;
756 property_trees_.transform_tree.set_needs_update(true); 753 property_trees_.transform_tree.set_needs_update(true);
757 } 754 }
758 } 755 }
759 for (auto id : layer_ids_to_remove) 756 for (auto id : layer_ids_to_remove)
760 transform_animations_map_.erase(id); 757 transform_animations_map_.erase(id);
761 layer_ids_to_remove.clear(); 758 layer_ids_to_remove.clear();
762 759
763 for (auto& layer_id_to_filters : filter_animations_map_) { 760 for (auto& layer_id_to_filters : filter_animations_map_) {
764 const int id = layer_id_to_filters.first; 761 const int id = layer_id_to_filters.first;
765 if (property_trees_.IsInIdToIndexMap(PropertyTrees::TreeType::EFFECT, id)) { 762 if (EffectNode* node =
766 EffectNode* node = property_trees_.effect_tree.Node( 763 property_trees_.effect_tree.FindNodeFromOwningLayerId(id)) {
767 property_trees_.layer_id_to_effect_node_index[id]);
768 if (!node->is_currently_animating_filter || 764 if (!node->is_currently_animating_filter ||
769 node->filters == layer_id_to_filters.second) { 765 node->filters == layer_id_to_filters.second) {
770 layer_ids_to_remove.push_back(id); 766 layer_ids_to_remove.push_back(id);
771 continue; 767 continue;
772 } 768 }
773 node->filters = layer_id_to_filters.second; 769 node->filters = layer_id_to_filters.second;
774 property_trees_.effect_tree.set_needs_update(true); 770 property_trees_.effect_tree.set_needs_update(true);
775 } 771 }
776 } 772 }
777 for (auto id : layer_ids_to_remove) 773 for (auto id : layer_ids_to_remove)
(...skipping 1371 matching lines...) Expand 10 before | Expand all | Expand 10 after
2149 2145
2150 void LayerTreeImpl::ResetAllChangeTracking() { 2146 void LayerTreeImpl::ResetAllChangeTracking() {
2151 layers_that_should_push_properties_.clear(); 2147 layers_that_should_push_properties_.clear();
2152 // Iterate over all layers, including masks. 2148 // Iterate over all layers, including masks.
2153 for (auto& layer : *layers_) 2149 for (auto& layer : *layers_)
2154 layer->ResetChangeTracking(); 2150 layer->ResetChangeTracking();
2155 property_trees_.ResetAllChangeTracking(); 2151 property_trees_.ResetAllChangeTracking();
2156 } 2152 }
2157 2153
2158 } // namespace cc 2154 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_unittest.cc ('k') | cc/trees/property_tree.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698