Chromium Code Reviews| 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/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.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 817 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 828 void AfterTest() override {} | 828 void AfterTest() override {} |
| 829 | 829 |
| 830 private: | 830 private: |
| 831 int index_; | 831 int index_; |
| 832 scoped_refptr<Layer> root_; | 832 scoped_refptr<Layer> root_; |
| 833 scoped_refptr<Layer> child_; | 833 scoped_refptr<Layer> child_; |
| 834 }; | 834 }; |
| 835 | 835 |
| 836 SINGLE_THREAD_TEST_F(LayerTreeHostTestPropertyTreesChangedSync); | 836 SINGLE_THREAD_TEST_F(LayerTreeHostTestPropertyTreesChangedSync); |
| 837 | 837 |
| 838 class LayerTreeHostTestEffectTreeSync : public LayerTreeHostTest { | |
| 839 protected: | |
| 840 void SetupTree() override { | |
| 841 root_ = Layer::Create(); | |
| 842 layer_tree_host()->SetRootLayer(root_); | |
| 843 LayerTreeHostTest::SetupTree(); | |
| 844 } | |
| 845 | |
| 846 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | |
| 847 | |
| 848 void DidCommit() override { | |
| 849 EffectTree& effect_tree = layer_tree_host()->property_trees()->effect_tree; | |
| 850 EffectNode* node = effect_tree.Node(root_->effect_tree_index()); | |
| 851 switch (layer_tree_host()->source_frame_number()) { | |
| 852 case 1: | |
| 853 root_->SetOpacity(0.5f); | |
| 854 node->data.is_currently_animating_opacity = true; | |
| 855 // Changing opacity forces us to rebuild proeprty trees. We want to | |
|
ajuma
2016/05/11 17:22:28
Hmm! If the layer whose opacity changed already ha
jaydasika
2016/05/11 18:08:45
Setting opacity on a layer doesn't set opacity on
| |
| 856 // prevent that here as that will reset is_currently_animating_opacity. | |
| 857 layer_tree_host()->property_trees()->needs_rebuild = false; | |
| 858 break; | |
| 859 case 2: | |
| 860 // Forcing rebuild of property trees will reset | |
| 861 // is_currently_animating_opacity. | |
| 862 layer_tree_host()->property_trees()->needs_rebuild = true; | |
|
ajuma
2016/05/11 17:22:28
How about directly setting is_currently_animating
jaydasika
2016/05/11 18:08:45
Done.
| |
| 863 root_->SetNeedsPushProperties(); | |
| 864 break; | |
| 865 } | |
| 866 } | |
| 867 | |
| 868 void CommitCompleteOnThread(LayerTreeHostImpl* impl) override { | |
| 869 EffectTree& effect_tree = impl->sync_tree()->property_trees()->effect_tree; | |
| 870 EffectNode* node = | |
| 871 effect_tree.Node(impl->sync_tree()->root_layer()->effect_tree_index()); | |
| 872 switch (impl->sync_tree()->source_frame_number()) { | |
| 873 case 0: | |
| 874 impl->sync_tree()->root_layer()->OnOpacityAnimated(0.75f); | |
| 875 PostSetNeedsCommitToMainThread(); | |
| 876 break; | |
| 877 case 1: | |
| 878 EXPECT_EQ(node->data.opacity, 0.75f); | |
| 879 PostSetNeedsCommitToMainThread(); | |
| 880 break; | |
| 881 case 2: | |
| 882 EXPECT_EQ(node->data.opacity, 0.5f); | |
| 883 EndTest(); | |
| 884 break; | |
| 885 } | |
| 886 } | |
| 887 | |
| 888 void AfterTest() override {} | |
| 889 | |
| 890 private: | |
| 891 scoped_refptr<Layer> root_; | |
| 892 }; | |
| 893 | |
| 894 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestEffectTreeSync); | |
| 895 | |
| 838 // Verify damage status is updated even when the transform tree doesn't need | 896 // Verify damage status is updated even when the transform tree doesn't need |
| 839 // to be updated at draw time. | 897 // to be updated at draw time. |
| 840 class LayerTreeHostTestTransformTreeDamageIsUpdated : public LayerTreeHostTest { | 898 class LayerTreeHostTestTransformTreeDamageIsUpdated : public LayerTreeHostTest { |
| 841 protected: | 899 protected: |
| 842 void SetupTree() override { | 900 void SetupTree() override { |
| 843 root_ = Layer::Create(); | 901 root_ = Layer::Create(); |
| 844 child_ = Layer::Create(); | 902 child_ = Layer::Create(); |
| 845 grand_child_ = Layer::Create(); | 903 grand_child_ = Layer::Create(); |
| 846 | 904 |
| 847 root_->SetBounds(gfx::Size(50, 50)); | 905 root_->SetBounds(gfx::Size(50, 50)); |
| (...skipping 5577 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6425 EndTest(); | 6483 EndTest(); |
| 6426 } | 6484 } |
| 6427 | 6485 |
| 6428 void AfterTest() override {} | 6486 void AfterTest() override {} |
| 6429 }; | 6487 }; |
| 6430 | 6488 |
| 6431 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPaintedDeviceScaleFactor); | 6489 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestPaintedDeviceScaleFactor); |
| 6432 | 6490 |
| 6433 } // namespace | 6491 } // namespace |
| 6434 } // namespace cc | 6492 } // namespace cc |
| OLD | NEW |