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

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

Issue 2755803003: cc: Remove SetNeedsCommitNoRebuild from Layer API (Closed)
Patch Set: check for LTH 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 707 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 (EffectNode* node = 727 if (EffectNode* node =
728 property_trees_.effect_tree.FindNodeFromOwningLayerId(id)) { 728 property_trees_.effect_tree.UpdateNodeFromOwningLayerId(id)) {
729 if (!node->is_currently_animating_opacity || 729 if (!node->is_currently_animating_opacity ||
730 node->opacity == layer_id_to_opacity.second) { 730 node->opacity == layer_id_to_opacity.second) {
731 layer_ids_to_remove.push_back(id); 731 layer_ids_to_remove.push_back(id);
732 continue; 732 continue;
733 } 733 }
734 node->opacity = layer_id_to_opacity.second; 734 node->opacity = layer_id_to_opacity.second;
735 property_trees_.effect_tree.set_needs_update(true); 735 property_trees_.effect_tree.set_needs_update(true);
736 } 736 }
737 } 737 }
738 for (auto id : layer_ids_to_remove) 738 for (auto id : layer_ids_to_remove)
739 opacity_animations_map_.erase(id); 739 opacity_animations_map_.erase(id);
740 layer_ids_to_remove.clear(); 740 layer_ids_to_remove.clear();
741 741
742 for (auto& layer_id_to_transform : transform_animations_map_) { 742 for (auto& layer_id_to_transform : transform_animations_map_) {
743 const int id = layer_id_to_transform.first; 743 const int id = layer_id_to_transform.first;
744 if (TransformNode* node = 744 if (TransformNode* node =
745 property_trees_.transform_tree.FindNodeFromOwningLayerId(id)) { 745 property_trees_.transform_tree.UpdateNodeFromOwningLayerId(id)) {
746 if (!node->is_currently_animating || 746 if (!node->is_currently_animating ||
747 node->local == layer_id_to_transform.second) { 747 node->local == layer_id_to_transform.second) {
748 layer_ids_to_remove.push_back(id); 748 layer_ids_to_remove.push_back(id);
749 continue; 749 continue;
750 } 750 }
751 node->local = layer_id_to_transform.second; 751 node->local = layer_id_to_transform.second;
752 node->needs_local_transform_update = true; 752 node->needs_local_transform_update = true;
753 property_trees_.transform_tree.set_needs_update(true); 753 property_trees_.transform_tree.set_needs_update(true);
754 } 754 }
755 } 755 }
756 for (auto id : layer_ids_to_remove) 756 for (auto id : layer_ids_to_remove)
757 transform_animations_map_.erase(id); 757 transform_animations_map_.erase(id);
758 layer_ids_to_remove.clear(); 758 layer_ids_to_remove.clear();
759 759
760 for (auto& layer_id_to_filters : filter_animations_map_) { 760 for (auto& layer_id_to_filters : filter_animations_map_) {
761 const int id = layer_id_to_filters.first; 761 const int id = layer_id_to_filters.first;
762 if (EffectNode* node = 762 if (EffectNode* node =
763 property_trees_.effect_tree.FindNodeFromOwningLayerId(id)) { 763 property_trees_.effect_tree.UpdateNodeFromOwningLayerId(id)) {
764 if (!node->is_currently_animating_filter || 764 if (!node->is_currently_animating_filter ||
765 node->filters == layer_id_to_filters.second) { 765 node->filters == layer_id_to_filters.second) {
766 layer_ids_to_remove.push_back(id); 766 layer_ids_to_remove.push_back(id);
767 continue; 767 continue;
768 } 768 }
769 node->filters = layer_id_to_filters.second; 769 node->filters = layer_id_to_filters.second;
770 property_trees_.effect_tree.set_needs_update(true); 770 property_trees_.effect_tree.set_needs_update(true);
771 } 771 }
772 } 772 }
773 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
2145 2145
2146 void LayerTreeImpl::ResetAllChangeTracking() { 2146 void LayerTreeImpl::ResetAllChangeTracking() {
2147 layers_that_should_push_properties_.clear(); 2147 layers_that_should_push_properties_.clear();
2148 // Iterate over all layers, including masks. 2148 // Iterate over all layers, including masks.
2149 for (auto& layer : *layers_) 2149 for (auto& layer : *layers_)
2150 layer->ResetChangeTracking(); 2150 layer->ResetChangeTracking();
2151 property_trees_.ResetAllChangeTracking(); 2151 property_trees_.ResetAllChangeTracking();
2152 } 2152 }
2153 2153
2154 } // 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