| 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 "ui/compositor/layer.h" | 5 #include "ui/compositor/layer.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 626 DrawTreeLayerDelegate d3(l3->bounds()); | 626 DrawTreeLayerDelegate d3(l3->bounds()); |
| 627 l3->set_delegate(&d3); | 627 l3->set_delegate(&d3); |
| 628 | 628 |
| 629 l2->SchedulePaint(gfx::Rect(5, 5, 5, 5)); | 629 l2->SchedulePaint(gfx::Rect(5, 5, 5, 5)); |
| 630 WaitForDraw(); | 630 WaitForDraw(); |
| 631 EXPECT_FALSE(d1.painted()); | 631 EXPECT_FALSE(d1.painted()); |
| 632 EXPECT_TRUE(d2.painted()); | 632 EXPECT_TRUE(d2.painted()); |
| 633 EXPECT_FALSE(d3.painted()); | 633 EXPECT_FALSE(d3.painted()); |
| 634 } | 634 } |
| 635 | 635 |
| 636 // Tests that scheduling paint on a layer with a mask updates the mask. |
| 637 TEST_F(LayerWithRealCompositorTest, SchedulePaintUpdatesMask) { |
| 638 std::unique_ptr<Layer> layer( |
| 639 CreateColorLayer(SK_ColorRED, gfx::Rect(20, 20, 400, 400))); |
| 640 std::unique_ptr<Layer> mask_layer(CreateLayer(ui::LAYER_TEXTURED)); |
| 641 mask_layer->SetBounds(gfx::Rect(layer->GetTargetBounds().size())); |
| 642 layer->SetMaskLayer(mask_layer.get()); |
| 643 |
| 644 GetCompositor()->SetRootLayer(layer.get()); |
| 645 WaitForDraw(); |
| 646 |
| 647 DrawTreeLayerDelegate d1(layer->bounds()); |
| 648 layer->set_delegate(&d1); |
| 649 DrawTreeLayerDelegate d2(mask_layer->bounds()); |
| 650 mask_layer->set_delegate(&d2); |
| 651 |
| 652 layer->SchedulePaint(gfx::Rect(5, 5, 5, 5)); |
| 653 WaitForDraw(); |
| 654 EXPECT_TRUE(d1.painted()); |
| 655 EXPECT_TRUE(d2.painted()); |
| 656 } |
| 657 |
| 636 // Tests no-texture Layers. | 658 // Tests no-texture Layers. |
| 637 // Create this hierarchy: | 659 // Create this hierarchy: |
| 638 // L1 - red | 660 // L1 - red |
| 639 // +-- L2 - NO TEXTURE | 661 // +-- L2 - NO TEXTURE |
| 640 // | +-- L3 - yellow | 662 // | +-- L3 - yellow |
| 641 // +-- L4 - magenta | 663 // +-- L4 - magenta |
| 642 // | 664 // |
| 643 TEST_F(LayerWithRealCompositorTest, HierarchyNoTexture) { | 665 TEST_F(LayerWithRealCompositorTest, HierarchyNoTexture) { |
| 644 std::unique_ptr<Layer> l1( | 666 std::unique_ptr<Layer> l1( |
| 645 CreateColorLayer(SK_ColorRED, gfx::Rect(20, 20, 400, 400))); | 667 CreateColorLayer(SK_ColorRED, gfx::Rect(20, 20, 400, 400))); |
| (...skipping 1258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1904 root->SetOpacity(0.5f); | 1926 root->SetOpacity(0.5f); |
| 1905 WaitForSwap(); | 1927 WaitForSwap(); |
| 1906 EXPECT_EQ(1u, animation_observer.animation_step_count()); | 1928 EXPECT_EQ(1u, animation_observer.animation_step_count()); |
| 1907 | 1929 |
| 1908 EXPECT_FALSE(animation_observer.shutdown()); | 1930 EXPECT_FALSE(animation_observer.shutdown()); |
| 1909 ResetCompositor(); | 1931 ResetCompositor(); |
| 1910 EXPECT_TRUE(animation_observer.shutdown()); | 1932 EXPECT_TRUE(animation_observer.shutdown()); |
| 1911 } | 1933 } |
| 1912 | 1934 |
| 1913 } // namespace ui | 1935 } // namespace ui |
| OLD | NEW |