Index: ui/compositor/layer_unittest.cc |
diff --git a/ui/compositor/layer_unittest.cc b/ui/compositor/layer_unittest.cc |
index d64ac74eecf2833e63bd3fbf6505c0a9362390af..9ab5a14b14f46619fc9006f71a50f6370178705d 100644 |
--- a/ui/compositor/layer_unittest.cc |
+++ b/ui/compositor/layer_unittest.cc |
@@ -218,26 +218,16 @@ class TestLayerDelegate : public LayerDelegate { |
colors_.push_back(color); |
} |
- const gfx::Size& paint_size() const { return paint_size_; } |
int color_index() const { return color_index_; } |
- std::string ToScaleString() const { |
- return base::StringPrintf("%.1f %.1f", scale_x_, scale_y_); |
- } |
- |
float device_scale_factor() const { |
return device_scale_factor_; |
} |
// Overridden from LayerDelegate: |
void OnPaintLayer(gfx::Canvas* canvas) override { |
- SkISize size = canvas->sk_canvas()->getBaseLayerSize(); |
- paint_size_ = gfx::Size(size.width(), size.height()); |
canvas->DrawColor(colors_[color_index_]); |
color_index_ = (color_index_ + 1) % static_cast<int>(colors_.size()); |
- const SkMatrix& matrix = canvas->sk_canvas()->getTotalMatrix(); |
- scale_x_ = matrix.getScaleX(); |
- scale_y_ = matrix.getScaleY(); |
} |
void OnDelegatedFrameDamage(const gfx::Rect& damage_rect_in_dip) override {} |
@@ -252,17 +242,12 @@ class TestLayerDelegate : public LayerDelegate { |
void reset() { |
color_index_ = 0; |
- paint_size_.SetSize(0, 0); |
- scale_x_ = scale_y_ = 0.0f; |
device_scale_factor_ = 0.0f; |
} |
private: |
std::vector<SkColor> colors_; |
int color_index_; |
- gfx::Size paint_size_; |
- float scale_x_; |
- float scale_y_; |
float device_scale_factor_; |
DISALLOW_COPY_AND_ASSIGN(TestLayerDelegate); |
@@ -509,8 +494,11 @@ TEST_F(LayerWithDelegateTest, ConvertPointToLayer_Medium) { |
} |
TEST_F(LayerWithRealCompositorTest, Delegate) { |
- scoped_ptr<Layer> l1(CreateColorLayer(SK_ColorBLACK, |
- gfx::Rect(20, 20, 400, 400))); |
+ // This test makes sure that whenever paint happens at a layer, its layer |
+ // delegate gets the paint, which in this test update its color and |
+ // |color_index|. |
+ scoped_ptr<Layer> l1( |
+ CreateColorLayer(SK_ColorBLACK, gfx::Rect(20, 20, 400, 400))); |
GetCompositor()->SetRootLayer(l1.get()); |
WaitForDraw(); |
@@ -522,19 +510,18 @@ TEST_F(LayerWithRealCompositorTest, Delegate) { |
l1->SchedulePaint(gfx::Rect(0, 0, 400, 400)); |
WaitForDraw(); |
- |
- EXPECT_EQ(delegate.color_index(), 1); |
- EXPECT_EQ(delegate.paint_size(), l1->bounds().size()); |
+ // Test that paint happened at layer delegate. |
+ EXPECT_EQ(1, delegate.color_index()); |
l1->SchedulePaint(gfx::Rect(10, 10, 200, 200)); |
WaitForDraw(); |
- EXPECT_EQ(delegate.color_index(), 2); |
- EXPECT_EQ(delegate.paint_size(), gfx::Size(200, 200)); |
+ // Test that paint happened at layer delegate. |
+ EXPECT_EQ(2, delegate.color_index()); |
l1->SchedulePaint(gfx::Rect(5, 5, 50, 50)); |
WaitForDraw(); |
- EXPECT_EQ(delegate.color_index(), 0); |
- EXPECT_EQ(delegate.paint_size(), gfx::Size(50, 50)); |
+ // Test that paint happened at layer delegate. |
+ EXPECT_EQ(0, delegate.color_index()); |
} |
TEST_F(LayerWithRealCompositorTest, DrawTree) { |
@@ -1308,9 +1295,6 @@ TEST_F(LayerWithRealCompositorTest, ScaleUpDown) { |
EXPECT_EQ(0.0f, root_delegate.device_scale_factor()); |
EXPECT_EQ(0.0f, l1_delegate.device_scale_factor()); |
- EXPECT_EQ("200x220", root_delegate.paint_size().ToString()); |
- EXPECT_EQ("140x180", l1_delegate.paint_size().ToString()); |
- |
// Scale up to 2.0. Changing scale doesn't change the bounds in DIP. |
GetCompositor()->SetScaleAndSize(2.0f, gfx::Size(500, 500)); |
EXPECT_EQ("10,20 200x220", root->bounds().ToString()); |
@@ -1320,17 +1304,11 @@ TEST_F(LayerWithRealCompositorTest, ScaleUpDown) { |
EXPECT_EQ("200x220", cc_bounds_size.ToString()); |
cc_bounds_size = l1->cc_layer()->bounds(); |
EXPECT_EQ("140x180", cc_bounds_size.ToString()); |
- // New scale factor must have been notified. |
+ // New scale factor must have been notified. Make sure painting happens at |
+ // right scale. |
EXPECT_EQ(2.0f, root_delegate.device_scale_factor()); |
EXPECT_EQ(2.0f, l1_delegate.device_scale_factor()); |
- // Canvas size must have been scaled down up. |
- WaitForDraw(); |
- EXPECT_EQ("400x440", root_delegate.paint_size().ToString()); |
- EXPECT_EQ("2.0 2.0", root_delegate.ToScaleString()); |
- EXPECT_EQ("280x360", l1_delegate.paint_size().ToString()); |
- EXPECT_EQ("2.0 2.0", l1_delegate.ToScaleString()); |
- |
// Scale down back to 1.0f. |
GetCompositor()->SetScaleAndSize(1.0f, gfx::Size(500, 500)); |
EXPECT_EQ("10,20 200x220", root->bounds().ToString()); |
@@ -1340,17 +1318,11 @@ TEST_F(LayerWithRealCompositorTest, ScaleUpDown) { |
EXPECT_EQ("200x220", cc_bounds_size.ToString()); |
cc_bounds_size = l1->cc_layer()->bounds(); |
EXPECT_EQ("140x180", cc_bounds_size.ToString()); |
- // New scale factor must have been notified. |
+ // New scale factor must have been notified. Make sure painting happens at |
+ // right scale. |
EXPECT_EQ(1.0f, root_delegate.device_scale_factor()); |
EXPECT_EQ(1.0f, l1_delegate.device_scale_factor()); |
- // Canvas size must have been scaled down too. |
- WaitForDraw(); |
- EXPECT_EQ("200x220", root_delegate.paint_size().ToString()); |
- EXPECT_EQ("1.0 1.0", root_delegate.ToScaleString()); |
- EXPECT_EQ("140x180", l1_delegate.paint_size().ToString()); |
- EXPECT_EQ("1.0 1.0", l1_delegate.ToScaleString()); |
- |
root_delegate.reset(); |
l1_delegate.reset(); |
// Just changing the size shouldn't notify the scale change nor |
@@ -1359,11 +1331,6 @@ TEST_F(LayerWithRealCompositorTest, ScaleUpDown) { |
// No scale change, so no scale notification. |
EXPECT_EQ(0.0f, root_delegate.device_scale_factor()); |
EXPECT_EQ(0.0f, l1_delegate.device_scale_factor()); |
- WaitForDraw(); |
- EXPECT_EQ("0x0", root_delegate.paint_size().ToString()); |
- EXPECT_EQ("0.0 0.0", root_delegate.ToScaleString()); |
- EXPECT_EQ("0x0", l1_delegate.paint_size().ToString()); |
- EXPECT_EQ("0.0 0.0", l1_delegate.ToScaleString()); |
} |
TEST_F(LayerWithRealCompositorTest, ScaleReparent) { |
@@ -1377,7 +1344,6 @@ TEST_F(LayerWithRealCompositorTest, ScaleReparent) { |
GetCompositor()->SetScaleAndSize(1.0f, gfx::Size(500, 500)); |
GetCompositor()->SetRootLayer(root.get()); |
- WaitForDraw(); |
root->Add(l1.get()); |
EXPECT_EQ("10,20 140x180", l1->bounds().ToString()); |
@@ -1385,10 +1351,6 @@ TEST_F(LayerWithRealCompositorTest, ScaleReparent) { |
EXPECT_EQ("140x180", cc_bounds_size.ToString()); |
EXPECT_EQ(0.0f, l1_delegate.device_scale_factor()); |
- WaitForDraw(); |
- EXPECT_EQ("140x180", l1_delegate.paint_size().ToString()); |
- EXPECT_EQ("1.0 1.0", l1_delegate.ToScaleString()); |
- |
// Remove l1 from root and change the scale. |
root->Remove(l1.get()); |
EXPECT_EQ(NULL, l1->parent()); |
@@ -1404,9 +1366,6 @@ TEST_F(LayerWithRealCompositorTest, ScaleReparent) { |
cc_bounds_size = l1->cc_layer()->bounds(); |
EXPECT_EQ("140x180", cc_bounds_size.ToString()); |
EXPECT_EQ(2.0f, l1_delegate.device_scale_factor()); |
- WaitForDraw(); |
- EXPECT_EQ("280x360", l1_delegate.paint_size().ToString()); |
- EXPECT_EQ("2.0 2.0", l1_delegate.ToScaleString()); |
} |
// Verifies that when changing bounds on a layer that is invisible, and then |