OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/bind.h" | 6 #include "base/bind.h" |
7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
8 #include "base/debug/trace_event.h" | 8 #include "base/debug/trace_event.h" |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
(...skipping 1489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1500 // Trigger a threaded animation. | 1500 // Trigger a threaded animation. |
1501 l1->SetOpacity(0.5f); | 1501 l1->SetOpacity(0.5f); |
1502 | 1502 |
1503 // Change l1's cc::Layer. | 1503 // Change l1's cc::Layer. |
1504 l1->SwitchCCLayerForTest(); | 1504 l1->SwitchCCLayerForTest(); |
1505 | 1505 |
1506 // Ensure that the opacity animation completed. | 1506 // Ensure that the opacity animation completed. |
1507 EXPECT_FLOAT_EQ(l1->opacity(), 0.5f); | 1507 EXPECT_FLOAT_EQ(l1->opacity(), 0.5f); |
1508 } | 1508 } |
1509 | 1509 |
1510 // Tests that the animators in the layer tree is added to the | |
1511 // animator-collection when the root-layer is set to the compositor. | |
1512 TEST_F(LayerWithDelegateTest, RootLayerAnimatorsInCompositor) { | |
1513 scoped_ptr<Layer> root(CreateLayer(LAYER_SOLID_COLOR)); | |
1514 scoped_ptr<Layer> child(CreateColorLayer(SK_ColorRED, gfx::Rect(10, 10))); | |
1515 child->SetAnimator(LayerAnimator::CreateImplicitAnimator()); | |
1516 child->SetOpacity(0.5f); | |
1517 root->Add(child.get()); | |
1518 | |
1519 EXPECT_FALSE(compositor()->layer_animator_collection()->HasActiveAnimators()); | |
1520 compositor()->SetRootLayer(root.get()); | |
1521 EXPECT_TRUE(compositor()->layer_animator_collection()->HasActiveAnimators()); | |
1522 } | |
1523 | |
1524 // Tests that adding/removing a layer adds/removes the animator from its entire | |
1525 // subtree from the compositor's animator-collection. | |
1526 TEST_F(LayerWithDelegateTest, AddRemoveLayerUpdatesAnimatorsFromSubtree) { | |
1527 scoped_ptr<Layer> root(CreateLayer(LAYER_TEXTURED)); | |
1528 scoped_ptr<Layer> child(CreateLayer(LAYER_TEXTURED)); | |
1529 scoped_ptr<Layer> grandchild(CreateColorLayer(SK_ColorRED, | |
1530 gfx::Rect(10, 10))); | |
1531 root->Add(child.get()); | |
1532 child->Add(grandchild.get()); | |
1533 compositor()->SetRootLayer(root.get()); | |
1534 | |
1535 grandchild->SetAnimator(LayerAnimator::CreateImplicitAnimator()); | |
1536 grandchild->SetOpacity(0.5f); | |
1537 EXPECT_TRUE(compositor()->layer_animator_collection()->HasActiveAnimators()); | |
1538 | |
1539 root->Remove(child.get()); | |
1540 EXPECT_FALSE(compositor()->layer_animator_collection()->HasActiveAnimators()); | |
1541 | |
1542 root->Add(child.get()); | |
1543 EXPECT_TRUE(compositor()->layer_animator_collection()->HasActiveAnimators()); | |
1544 } | |
1545 | |
1546 TEST_F(LayerWithDelegateTest, DestroyingLayerRemovesTheAnimatorFromCollection) { | |
1547 scoped_ptr<Layer> root(CreateLayer(LAYER_TEXTURED)); | |
1548 scoped_ptr<Layer> child(CreateLayer(LAYER_TEXTURED)); | |
1549 root->Add(child.get()); | |
1550 compositor()->SetRootLayer(root.get()); | |
1551 | |
1552 child->SetAnimator(LayerAnimator::CreateImplicitAnimator()); | |
1553 child->SetOpacity(0.5f); | |
1554 EXPECT_TRUE(compositor()->layer_animator_collection()->HasActiveAnimators()); | |
1555 | |
1556 child.reset(); | |
1557 EXPECT_FALSE(compositor()->layer_animator_collection()->HasActiveAnimators()); | |
1558 } | |
1559 | |
1560 } // namespace ui | 1510 } // namespace ui |
OLD | NEW |