Index: cc/layers/scrollbar_layer_unittest.cc |
diff --git a/cc/layers/scrollbar_layer_unittest.cc b/cc/layers/scrollbar_layer_unittest.cc |
index 7b5eb9eac8fe5fab6152e0db21f114e932e593fe..bcec55ac145bf6bd931ec92dd28e9574efc8c168 100644 |
--- a/cc/layers/scrollbar_layer_unittest.cc |
+++ b/cc/layers/scrollbar_layer_unittest.cc |
@@ -274,7 +274,7 @@ TEST(ScrollbarLayerTest, ThumbRect) { |
TEST(ScrollbarLayerTest, SolidColorDrawQuads) { |
const int kThumbThickness = 3; |
- const int kTrackStart = 0; |
+ const int kTrackStart = 1; |
weiliangc
2014/07/22 18:49:46
I don't understand why we need to change TrackStar
Ian Vollick
2014/07/22 18:55:00
It's a good question. I did this so that I can mor
weiliangc
2014/07/22 19:00:12
Ah didn't realize the first test case has 40->39 a
|
const int kTrackLength = 100; |
LayerTreeSettings layer_tree_settings; |
@@ -303,7 +303,7 @@ TEST(ScrollbarLayerTest, SolidColorDrawQuads) { |
const QuadList& quads = render_pass->quad_list; |
ASSERT_EQ(1u, quads.size()); |
EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); |
- EXPECT_RECT_EQ(gfx::Rect(6, 0, 40, 3), quads[0]->rect); |
+ EXPECT_RECT_EQ(gfx::Rect(6, 0, 39, 3), quads[0]->rect); |
} |
// Contents scale should scale the draw quad. |
@@ -319,7 +319,7 @@ TEST(ScrollbarLayerTest, SolidColorDrawQuads) { |
const QuadList& quads = render_pass->quad_list; |
ASSERT_EQ(1u, quads.size()); |
EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); |
- EXPECT_RECT_EQ(gfx::Rect(12, 0, 80, 6), quads[0]->rect); |
+ EXPECT_RECT_EQ(gfx::Rect(12, 0, 78, 6), quads[0]->rect); |
} |
scrollbar_layer_impl->draw_properties().contents_scale_x = 1.f; |
scrollbar_layer_impl->draw_properties().contents_scale_y = 1.f; |
@@ -337,7 +337,23 @@ TEST(ScrollbarLayerTest, SolidColorDrawQuads) { |
const QuadList& quads = render_pass->quad_list; |
ASSERT_EQ(1u, quads.size()); |
EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); |
- EXPECT_RECT_EQ(gfx::Rect(8, 0, 20, 3), quads[0]->rect); |
+ EXPECT_RECT_EQ(gfx::Rect(8, 0, 19, 3), quads[0]->rect); |
+ } |
+ |
+ // We shouldn't attempt div-by-zero when the maximum is zero. |
+ scrollbar_layer_impl->SetCurrentPos(0.f); |
+ scrollbar_layer_impl->SetMaximum(0); |
+ { |
+ MockOcclusionTracker<LayerImpl> occlusion_tracker; |
+ scoped_ptr<RenderPass> render_pass = RenderPass::Create(); |
+ AppendQuadsData data; |
+ scrollbar_layer_impl->AppendQuads( |
+ render_pass.get(), occlusion_tracker, &data); |
+ |
+ const QuadList& quads = render_pass->quad_list; |
+ ASSERT_EQ(1u, quads.size()); |
+ EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); |
+ EXPECT_RECT_EQ(gfx::Rect(1, 0, 19, 3), quads[0]->rect); |
} |
} |