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

Side by Side Diff: cc/layers/layer.cc

Issue 1697613002: cc :: Move tracking of layer_property_changed to main thread (2) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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 | « no previous file | cc/layers/layer_impl.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 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 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/layers/layer.h" 5 #include "cc/layers/layer.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 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 359
360 void Layer::SetBounds(const gfx::Size& size) { 360 void Layer::SetBounds(const gfx::Size& size) {
361 DCHECK(IsPropertyChangeAllowed()); 361 DCHECK(IsPropertyChangeAllowed());
362 if (bounds() == size) 362 if (bounds() == size)
363 return; 363 return;
364 bounds_ = size; 364 bounds_ = size;
365 365
366 if (!layer_tree_host_) 366 if (!layer_tree_host_)
367 return; 367 return;
368 368
369 if (masks_to_bounds())
370 SetSubtreePropertyChanged();
369 SetNeedsCommit(); 371 SetNeedsCommit();
370 } 372 }
371 373
372 Layer* Layer::RootLayer() { 374 Layer* Layer::RootLayer() {
373 Layer* layer = this; 375 Layer* layer = this;
374 while (layer->parent()) 376 while (layer->parent())
375 layer = layer->parent(); 377 layer = layer->parent();
376 return layer; 378 return layer;
377 } 379 }
378 380
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 631
630 void Layer::SetPosition(const gfx::PointF& position) { 632 void Layer::SetPosition(const gfx::PointF& position) {
631 DCHECK(IsPropertyChangeAllowed()); 633 DCHECK(IsPropertyChangeAllowed());
632 if (position_ == position) 634 if (position_ == position)
633 return; 635 return;
634 position_ = position; 636 position_ = position;
635 637
636 if (!layer_tree_host_) 638 if (!layer_tree_host_)
637 return; 639 return;
638 640
641 SetSubtreePropertyChanged();
639 if (TransformNode* transform_node = 642 if (TransformNode* transform_node =
640 layer_tree_host_->property_trees()->transform_tree.Node( 643 layer_tree_host_->property_trees()->transform_tree.Node(
641 transform_tree_index())) { 644 transform_tree_index())) {
642 if (transform_node->owner_id == id()) { 645 if (transform_node->owner_id == id()) {
643 transform_node->data.update_post_local_transform(position, 646 transform_node->data.update_post_local_transform(position,
644 transform_origin()); 647 transform_origin());
645 transform_node->data.needs_local_transform_update = true; 648 transform_node->data.needs_local_transform_update = true;
649 transform_node->data.transform_changed = true;
646 layer_tree_host_->property_trees()->transform_tree.set_needs_update(true); 650 layer_tree_host_->property_trees()->transform_tree.set_needs_update(true);
647 SetNeedsCommitNoRebuild(); 651 SetNeedsCommitNoRebuild();
648 return; 652 return;
649 } 653 }
650 } 654 }
651 655
652 SetNeedsCommit(); 656 SetNeedsCommit();
653 } 657 }
654 658
655 bool Layer::IsContainerForFixedPositionLayers() const { 659 bool Layer::IsContainerForFixedPositionLayers() const {
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 718
715 void Layer::SetTransformOrigin(const gfx::Point3F& transform_origin) { 719 void Layer::SetTransformOrigin(const gfx::Point3F& transform_origin) {
716 DCHECK(IsPropertyChangeAllowed()); 720 DCHECK(IsPropertyChangeAllowed());
717 if (transform_origin_ == transform_origin) 721 if (transform_origin_ == transform_origin)
718 return; 722 return;
719 transform_origin_ = transform_origin; 723 transform_origin_ = transform_origin;
720 724
721 if (!layer_tree_host_) 725 if (!layer_tree_host_)
722 return; 726 return;
723 727
728 SetSubtreePropertyChanged();
724 if (TransformNode* transform_node = 729 if (TransformNode* transform_node =
725 layer_tree_host_->property_trees()->transform_tree.Node( 730 layer_tree_host_->property_trees()->transform_tree.Node(
726 transform_tree_index())) { 731 transform_tree_index())) {
727 if (transform_node->owner_id == id()) { 732 if (transform_node->owner_id == id()) {
728 transform_node->data.update_pre_local_transform(transform_origin); 733 transform_node->data.update_pre_local_transform(transform_origin);
729 transform_node->data.update_post_local_transform(position(), 734 transform_node->data.update_post_local_transform(position(),
730 transform_origin); 735 transform_origin);
731 transform_node->data.needs_local_transform_update = true; 736 transform_node->data.needs_local_transform_update = true;
737 transform_node->data.transform_changed = true;
732 layer_tree_host_->property_trees()->transform_tree.set_needs_update(true); 738 layer_tree_host_->property_trees()->transform_tree.set_needs_update(true);
733 SetNeedsCommitNoRebuild(); 739 SetNeedsCommitNoRebuild();
734 return; 740 return;
735 } 741 }
736 } 742 }
737 743
738 SetNeedsCommit(); 744 SetNeedsCommit();
739 } 745 }
740 746
741 bool Layer::AnimationsPreserveAxisAlignment() const { 747 bool Layer::AnimationsPreserveAxisAlignment() const {
(...skipping 1322 matching lines...) Expand 10 before | Expand all | Expand 10 after
2064 this, layer_tree_host_->property_trees()->transform_tree); 2070 this, layer_tree_host_->property_trees()->transform_tree);
2065 } 2071 }
2066 2072
2067 gfx::Transform Layer::screen_space_transform() const { 2073 gfx::Transform Layer::screen_space_transform() const {
2068 DCHECK_NE(transform_tree_index_, -1); 2074 DCHECK_NE(transform_tree_index_, -1);
2069 return ScreenSpaceTransformFromPropertyTrees( 2075 return ScreenSpaceTransformFromPropertyTrees(
2070 this, layer_tree_host_->property_trees()->transform_tree); 2076 this, layer_tree_host_->property_trees()->transform_tree);
2071 } 2077 }
2072 2078
2073 } // namespace cc 2079 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/layers/layer_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698