| OLD | NEW |
| 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/tree_synchronizer.h" | 5 #include "cc/trees/tree_synchronizer.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 609 | 609 |
| 610 scoped_refptr<Layer> layer_tree_root = Layer::Create(); | 610 scoped_refptr<Layer> layer_tree_root = Layer::Create(); |
| 611 scoped_refptr<Layer> scroll_parent = Layer::Create(); | 611 scoped_refptr<Layer> scroll_parent = Layer::Create(); |
| 612 layer_tree_root->AddChild(scroll_parent); | 612 layer_tree_root->AddChild(scroll_parent); |
| 613 layer_tree_root->AddChild(Layer::Create()); | 613 layer_tree_root->AddChild(Layer::Create()); |
| 614 layer_tree_root->AddChild(Layer::Create()); | 614 layer_tree_root->AddChild(Layer::Create()); |
| 615 | 615 |
| 616 host_->SetRootLayer(layer_tree_root); | 616 host_->SetRootLayer(layer_tree_root); |
| 617 | 617 |
| 618 // First child is the second and third child's scroll parent. | 618 // First child is the second and third child's scroll parent. |
| 619 layer_tree_root->children()[1]->SetScrollParent(scroll_parent); | 619 layer_tree_root->children()[1]->SetScrollParent(scroll_parent.get()); |
| 620 layer_tree_root->children()[2]->SetScrollParent(scroll_parent); | 620 layer_tree_root->children()[2]->SetScrollParent(scroll_parent.get()); |
| 621 | 621 |
| 622 scoped_ptr<LayerImpl> layer_impl_tree_root = | 622 scoped_ptr<LayerImpl> layer_impl_tree_root = |
| 623 TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(), | 623 TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(), |
| 624 scoped_ptr<LayerImpl>(), | 624 scoped_ptr<LayerImpl>(), |
| 625 host_impl->active_tree()); | 625 host_impl->active_tree()); |
| 626 TreeSynchronizer::PushProperties(layer_tree_root.get(), | 626 TreeSynchronizer::PushProperties(layer_tree_root.get(), |
| 627 layer_impl_tree_root.get()); | 627 layer_impl_tree_root.get()); |
| 628 { | 628 { |
| 629 SCOPED_TRACE("case one"); | 629 SCOPED_TRACE("case one"); |
| 630 ExpectTreesAreIdentical(layer_tree_root.get(), | 630 ExpectTreesAreIdentical(layer_tree_root.get(), |
| (...skipping 12 matching lines...) Expand all Loading... |
| 643 { | 643 { |
| 644 SCOPED_TRACE("case two"); | 644 SCOPED_TRACE("case two"); |
| 645 ExpectTreesAreIdentical(layer_tree_root.get(), | 645 ExpectTreesAreIdentical(layer_tree_root.get(), |
| 646 layer_impl_tree_root.get(), | 646 layer_impl_tree_root.get(), |
| 647 host_impl->active_tree()); | 647 host_impl->active_tree()); |
| 648 } | 648 } |
| 649 | 649 |
| 650 // Add an additional scroll layer. | 650 // Add an additional scroll layer. |
| 651 scoped_refptr<Layer> additional_scroll_child = Layer::Create(); | 651 scoped_refptr<Layer> additional_scroll_child = Layer::Create(); |
| 652 layer_tree_root->AddChild(additional_scroll_child); | 652 layer_tree_root->AddChild(additional_scroll_child); |
| 653 additional_scroll_child->SetScrollParent(scroll_parent); | 653 additional_scroll_child->SetScrollParent(scroll_parent.get()); |
| 654 layer_impl_tree_root = | 654 layer_impl_tree_root = |
| 655 TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(), | 655 TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(), |
| 656 layer_impl_tree_root.Pass(), | 656 layer_impl_tree_root.Pass(), |
| 657 host_impl->active_tree()); | 657 host_impl->active_tree()); |
| 658 TreeSynchronizer::PushProperties(layer_tree_root.get(), | 658 TreeSynchronizer::PushProperties(layer_tree_root.get(), |
| 659 layer_impl_tree_root.get()); | 659 layer_impl_tree_root.get()); |
| 660 { | 660 { |
| 661 SCOPED_TRACE("case three"); | 661 SCOPED_TRACE("case three"); |
| 662 ExpectTreesAreIdentical(layer_tree_root.get(), | 662 ExpectTreesAreIdentical(layer_tree_root.get(), |
| 663 layer_impl_tree_root.get(), | 663 layer_impl_tree_root.get(), |
| (...skipping 22 matching lines...) Expand all Loading... |
| 686 scoped_refptr<Layer> clip_child1 = Layer::Create(); | 686 scoped_refptr<Layer> clip_child1 = Layer::Create(); |
| 687 scoped_refptr<Layer> clip_child2 = Layer::Create(); | 687 scoped_refptr<Layer> clip_child2 = Layer::Create(); |
| 688 layer_tree_root->AddChild(clip_parent); | 688 layer_tree_root->AddChild(clip_parent); |
| 689 clip_parent->AddChild(intervening); | 689 clip_parent->AddChild(intervening); |
| 690 intervening->AddChild(clip_child1); | 690 intervening->AddChild(clip_child1); |
| 691 intervening->AddChild(clip_child2); | 691 intervening->AddChild(clip_child2); |
| 692 | 692 |
| 693 host_->SetRootLayer(layer_tree_root); | 693 host_->SetRootLayer(layer_tree_root); |
| 694 | 694 |
| 695 // First child is the second and third child's scroll parent. | 695 // First child is the second and third child's scroll parent. |
| 696 clip_child1->SetClipParent(clip_parent); | 696 clip_child1->SetClipParent(clip_parent.get()); |
| 697 clip_child2->SetClipParent(clip_parent); | 697 clip_child2->SetClipParent(clip_parent.get()); |
| 698 | 698 |
| 699 scoped_ptr<LayerImpl> layer_impl_tree_root = | 699 scoped_ptr<LayerImpl> layer_impl_tree_root = |
| 700 TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(), | 700 TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(), |
| 701 scoped_ptr<LayerImpl>(), | 701 scoped_ptr<LayerImpl>(), |
| 702 host_impl->active_tree()); | 702 host_impl->active_tree()); |
| 703 TreeSynchronizer::PushProperties(layer_tree_root.get(), | 703 TreeSynchronizer::PushProperties(layer_tree_root.get(), |
| 704 layer_impl_tree_root.get()); | 704 layer_impl_tree_root.get()); |
| 705 ExpectTreesAreIdentical(layer_tree_root.get(), | 705 ExpectTreesAreIdentical(layer_tree_root.get(), |
| 706 layer_impl_tree_root.get(), | 706 layer_impl_tree_root.get(), |
| 707 host_impl->active_tree()); | 707 host_impl->active_tree()); |
| 708 | 708 |
| 709 // Remove the first clip child. | 709 // Remove the first clip child. |
| 710 clip_child1->RemoveFromParent(); | 710 clip_child1->RemoveFromParent(); |
| 711 clip_child1 = NULL; | 711 clip_child1 = NULL; |
| 712 | 712 |
| 713 layer_impl_tree_root = | 713 layer_impl_tree_root = |
| 714 TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(), | 714 TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(), |
| 715 layer_impl_tree_root.Pass(), | 715 layer_impl_tree_root.Pass(), |
| 716 host_impl->active_tree()); | 716 host_impl->active_tree()); |
| 717 TreeSynchronizer::PushProperties(layer_tree_root.get(), | 717 TreeSynchronizer::PushProperties(layer_tree_root.get(), |
| 718 layer_impl_tree_root.get()); | 718 layer_impl_tree_root.get()); |
| 719 ExpectTreesAreIdentical(layer_tree_root.get(), | 719 ExpectTreesAreIdentical(layer_tree_root.get(), |
| 720 layer_impl_tree_root.get(), | 720 layer_impl_tree_root.get(), |
| 721 host_impl->active_tree()); | 721 host_impl->active_tree()); |
| 722 | 722 |
| 723 // Add an additional clip child. | 723 // Add an additional clip child. |
| 724 scoped_refptr<Layer> additional_clip_child = Layer::Create(); | 724 scoped_refptr<Layer> additional_clip_child = Layer::Create(); |
| 725 intervening->AddChild(additional_clip_child); | 725 intervening->AddChild(additional_clip_child); |
| 726 additional_clip_child->SetClipParent(clip_parent); | 726 additional_clip_child->SetClipParent(clip_parent.get()); |
| 727 layer_impl_tree_root = | 727 layer_impl_tree_root = |
| 728 TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(), | 728 TreeSynchronizer::SynchronizeTrees(layer_tree_root.get(), |
| 729 layer_impl_tree_root.Pass(), | 729 layer_impl_tree_root.Pass(), |
| 730 host_impl->active_tree()); | 730 host_impl->active_tree()); |
| 731 TreeSynchronizer::PushProperties(layer_tree_root.get(), | 731 TreeSynchronizer::PushProperties(layer_tree_root.get(), |
| 732 layer_impl_tree_root.get()); | 732 layer_impl_tree_root.get()); |
| 733 ExpectTreesAreIdentical(layer_tree_root.get(), | 733 ExpectTreesAreIdentical(layer_tree_root.get(), |
| 734 layer_impl_tree_root.get(), | 734 layer_impl_tree_root.get(), |
| 735 host_impl->active_tree()); | 735 host_impl->active_tree()); |
| 736 | 736 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 748 host_impl->active_tree()); | 748 host_impl->active_tree()); |
| 749 | 749 |
| 750 // The clip children should have been unhooked. | 750 // The clip children should have been unhooked. |
| 751 EXPECT_EQ(2u, intervening->children().size()); | 751 EXPECT_EQ(2u, intervening->children().size()); |
| 752 EXPECT_FALSE(clip_child2->clip_parent()); | 752 EXPECT_FALSE(clip_child2->clip_parent()); |
| 753 EXPECT_FALSE(additional_clip_child->clip_parent()); | 753 EXPECT_FALSE(additional_clip_child->clip_parent()); |
| 754 } | 754 } |
| 755 | 755 |
| 756 } // namespace | 756 } // namespace |
| 757 } // namespace cc | 757 } // namespace cc |
| OLD | NEW |