| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
| 6 #include "base/compiler_specific.h" | 6 #include "base/compiler_specific.h" |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 #include "ui/gfx/canvas_skia.h" | 9 #include "ui/gfx/canvas_skia.h" |
| 10 #include "ui/gfx/compositor/compositor_observer.h" | 10 #include "ui/gfx/compositor/compositor_observer.h" |
| 11 #include "ui/gfx/compositor/layer.h" | 11 #include "ui/gfx/compositor/layer.h" |
| 12 #include "ui/gfx/compositor/layer_animation_sequence.h" |
| 12 #include "ui/gfx/compositor/test_compositor.h" | 13 #include "ui/gfx/compositor/test_compositor.h" |
| 13 #include "ui/gfx/compositor/test_compositor_host.h" | 14 #include "ui/gfx/compositor/test_compositor_host.h" |
| 14 | 15 |
| 15 namespace ui { | 16 namespace ui { |
| 16 | 17 |
| 17 namespace { | 18 namespace { |
| 18 | 19 |
| 19 // There are three test classes in here that configure the Compositor and | 20 // There are three test classes in here that configure the Compositor and |
| 20 // Layer's slightly differently: | 21 // Layer's slightly differently: |
| 21 // - LayerWithNullDelegateTest uses TestCompositor and NullLayerDelegate as the | 22 // - LayerWithNullDelegateTest uses TestCompositor and NullLayerDelegate as the |
| (...skipping 12 matching lines...) Expand all Loading... |
| 34 set_delegate(this); | 35 set_delegate(this); |
| 35 } | 36 } |
| 36 | 37 |
| 37 virtual ~ColoredLayer() { } | 38 virtual ~ColoredLayer() { } |
| 38 | 39 |
| 39 // Overridden from LayerDelegate: | 40 // Overridden from LayerDelegate: |
| 40 virtual void OnPaintLayer(gfx::Canvas* canvas) OVERRIDE { | 41 virtual void OnPaintLayer(gfx::Canvas* canvas) OVERRIDE { |
| 41 canvas->GetSkCanvas()->drawColor(color_); | 42 canvas->GetSkCanvas()->drawColor(color_); |
| 42 } | 43 } |
| 43 | 44 |
| 44 virtual void OnLayerAnimationEnded(const ui::Animation* animation) OVERRIDE { | 45 virtual void OnLayerAnimationEnded( |
| 46 const LayerAnimationSequence* animation) OVERRIDE { |
| 45 } | 47 } |
| 46 | 48 |
| 47 private: | 49 private: |
| 48 SkColor color_; | 50 SkColor color_; |
| 49 }; | 51 }; |
| 50 | 52 |
| 51 class LayerWithRealCompositorTest : public testing::Test { | 53 class LayerWithRealCompositorTest : public testing::Test { |
| 52 public: | 54 public: |
| 53 LayerWithRealCompositorTest() {} | 55 LayerWithRealCompositorTest() {} |
| 54 virtual ~LayerWithRealCompositorTest() {} | 56 virtual ~LayerWithRealCompositorTest() {} |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 | 127 |
| 126 // Overridden from LayerDelegate: | 128 // Overridden from LayerDelegate: |
| 127 virtual void OnPaintLayer(gfx::Canvas* canvas) OVERRIDE { | 129 virtual void OnPaintLayer(gfx::Canvas* canvas) OVERRIDE { |
| 128 SkBitmap contents = canvas->AsCanvasSkia()->ExtractBitmap(); | 130 SkBitmap contents = canvas->AsCanvasSkia()->ExtractBitmap(); |
| 129 paint_size_ = gfx::Size(contents.width(), contents.height()); | 131 paint_size_ = gfx::Size(contents.width(), contents.height()); |
| 130 canvas->FillRectInt(colors_.at(color_index_), 0, 0, | 132 canvas->FillRectInt(colors_.at(color_index_), 0, 0, |
| 131 contents.width(), | 133 contents.width(), |
| 132 contents.height()); | 134 contents.height()); |
| 133 color_index_ = (color_index_ + 1) % static_cast<int>(colors_.size()); | 135 color_index_ = (color_index_ + 1) % static_cast<int>(colors_.size()); |
| 134 } | 136 } |
| 135 virtual void OnLayerAnimationEnded(const ui::Animation* animation) OVERRIDE { | 137 virtual void OnLayerAnimationEnded( |
| 138 const LayerAnimationSequence* animation) OVERRIDE { |
| 136 } | 139 } |
| 137 | 140 |
| 138 private: | 141 private: |
| 139 std::vector<SkColor> colors_; | 142 std::vector<SkColor> colors_; |
| 140 int color_index_; | 143 int color_index_; |
| 141 gfx::Size paint_size_; | 144 gfx::Size paint_size_; |
| 142 | 145 |
| 143 DISALLOW_COPY_AND_ASSIGN(TestLayerDelegate); | 146 DISALLOW_COPY_AND_ASSIGN(TestLayerDelegate); |
| 144 }; | 147 }; |
| 145 | 148 |
| 146 // LayerDelegate that verifies that a layer was asked to update its canvas. | 149 // LayerDelegate that verifies that a layer was asked to update its canvas. |
| 147 class DrawTreeLayerDelegate : public LayerDelegate { | 150 class DrawTreeLayerDelegate : public LayerDelegate { |
| 148 public: | 151 public: |
| 149 DrawTreeLayerDelegate() : painted_(false) {} | 152 DrawTreeLayerDelegate() : painted_(false) {} |
| 150 virtual ~DrawTreeLayerDelegate() {} | 153 virtual ~DrawTreeLayerDelegate() {} |
| 151 | 154 |
| 152 void Reset() { | 155 void Reset() { |
| 153 painted_ = false; | 156 painted_ = false; |
| 154 } | 157 } |
| 155 | 158 |
| 156 bool painted() const { return painted_; } | 159 bool painted() const { return painted_; } |
| 157 | 160 |
| 158 private: | 161 private: |
| 159 // Overridden from LayerDelegate: | 162 // Overridden from LayerDelegate: |
| 160 virtual void OnPaintLayer(gfx::Canvas* canvas) OVERRIDE { | 163 virtual void OnPaintLayer(gfx::Canvas* canvas) OVERRIDE { |
| 161 painted_ = true; | 164 painted_ = true; |
| 162 } | 165 } |
| 163 virtual void OnLayerAnimationEnded(const ui::Animation* animation) OVERRIDE { | 166 virtual void OnLayerAnimationEnded( |
| 167 const LayerAnimationSequence* animation) OVERRIDE { |
| 164 } | 168 } |
| 165 | 169 |
| 166 bool painted_; | 170 bool painted_; |
| 167 | 171 |
| 168 DISALLOW_COPY_AND_ASSIGN(DrawTreeLayerDelegate); | 172 DISALLOW_COPY_AND_ASSIGN(DrawTreeLayerDelegate); |
| 169 }; | 173 }; |
| 170 | 174 |
| 171 // The simplest possible layer delegate. Does nothing. | 175 // The simplest possible layer delegate. Does nothing. |
| 172 class NullLayerDelegate : public LayerDelegate { | 176 class NullLayerDelegate : public LayerDelegate { |
| 173 public: | 177 public: |
| 174 NullLayerDelegate() {} | 178 NullLayerDelegate() {} |
| 175 virtual ~NullLayerDelegate() {} | 179 virtual ~NullLayerDelegate() {} |
| 176 | 180 |
| 177 private: | 181 private: |
| 178 // Overridden from LayerDelegate: | 182 // Overridden from LayerDelegate: |
| 179 virtual void OnPaintLayer(gfx::Canvas* canvas) OVERRIDE { | 183 virtual void OnPaintLayer(gfx::Canvas* canvas) OVERRIDE { |
| 180 } | 184 } |
| 181 virtual void OnLayerAnimationEnded(const ui::Animation* animation) OVERRIDE { | 185 virtual void OnLayerAnimationEnded( |
| 186 const LayerAnimationSequence* animation) OVERRIDE { |
| 182 } | 187 } |
| 183 | 188 |
| 184 DISALLOW_COPY_AND_ASSIGN(NullLayerDelegate); | 189 DISALLOW_COPY_AND_ASSIGN(NullLayerDelegate); |
| 185 }; | 190 }; |
| 186 | 191 |
| 187 } | 192 } |
| 188 | 193 |
| 189 #if defined(OS_WIN) | 194 #if defined(OS_WIN) |
| 190 // These are disabled on windows as they don't run correctly on the buildbot. | 195 // These are disabled on windows as they don't run correctly on the buildbot. |
| 191 // Reenable once we move to the real compositor. | 196 // Reenable once we move to the real compositor. |
| (...skipping 704 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 896 l1->SetVisible(true); | 901 l1->SetVisible(true); |
| 897 EXPECT_TRUE(l1->IsDrawn()); | 902 EXPECT_TRUE(l1->IsDrawn()); |
| 898 EXPECT_TRUE(l2->IsDrawn()); | 903 EXPECT_TRUE(l2->IsDrawn()); |
| 899 EXPECT_FALSE(l3->IsDrawn()); | 904 EXPECT_FALSE(l3->IsDrawn()); |
| 900 #if defined(USE_WEBKIT_COMPOSITOR) | 905 #if defined(USE_WEBKIT_COMPOSITOR) |
| 901 EXPECT_EQ(1.f, l1->web_layer().opacity()); | 906 EXPECT_EQ(1.f, l1->web_layer().opacity()); |
| 902 #endif | 907 #endif |
| 903 } | 908 } |
| 904 | 909 |
| 905 } // namespace ui | 910 } // namespace ui |
| OLD | NEW |