Chromium Code Reviews| Index: cc/layers/solid_color_scrollbar_layer_impl_unittest.cc |
| diff --git a/cc/layers/solid_color_scrollbar_layer_impl_unittest.cc b/cc/layers/solid_color_scrollbar_layer_impl_unittest.cc |
| index a2b24303f235538035b4ab0095d4300c8ebe3f4d..f1565731097d23edaa3e4341a89744a39ed38545 100644 |
| --- a/cc/layers/solid_color_scrollbar_layer_impl_unittest.cc |
| +++ b/cc/layers/solid_color_scrollbar_layer_impl_unittest.cc |
| @@ -77,5 +77,47 @@ TEST(SolidColorScrollbarLayerImplTest, Occlusion) { |
| } |
| } |
| +TEST(SolidColorScrollbarLayerImplTest, RoundingError) { |
|
bokan
2017/04/18 17:39:08
This isn't specific to solid color scrollbar layer
|
| + gfx::Size viewport_size(100, 100); |
| + |
| + LayerTestCommon::LayerImplTest impl; |
| + |
| + LayerImpl* clip_layer = impl.AddChildToRoot<LayerImpl>(); |
| + LayerImpl* scroll_layer = impl.AddChild<LayerImpl>(clip_layer); |
| + |
| + scroll_layer->SetScrollClipLayer(clip_layer->id()); |
| + |
| + const int kTrackStart = 0; |
| + const int kThumbThickness = 10; |
| + const bool kIsLeftSideVerticalScrollbar = false; |
| + const bool kIsOverlayScrollbar = false; |
| + |
| + SolidColorScrollbarLayerImpl* scrollbar_layer = |
| + impl.AddChild<SolidColorScrollbarLayerImpl>( |
| + scroll_layer, HORIZONTAL, kThumbThickness, kTrackStart, |
| + kIsLeftSideVerticalScrollbar, kIsOverlayScrollbar); |
| + |
| + scrollbar_layer->SetScrollLayerId(scroll_layer->id()); |
| + clip_layer->SetBounds(gfx::Size(100, 100)); |
| + scroll_layer->SetBounds(gfx::Size(100, 100)); |
| + |
| + impl.CalcDrawProps(viewport_size); |
| + |
| + EXPECT_FLOAT_EQ(100.0f, scrollbar_layer->clip_layer_length()); |
| + EXPECT_FLOAT_EQ(100.0f, scrollbar_layer->scroll_layer_length()); |
|
bokan
2017/04/18 17:39:08
No need to test these.
|
| + |
| + // Fake clip layer length to scrollbar to mock rounding error. |
| + scrollbar_layer->SetClipLayerLength(99.99f); |
| + // Fake device scale. |
| + impl.host_impl()->active_tree()->SetDeviceScaleFactor(3); |
| + |
| + EXPECT_FLOAT_EQ(99.99f, scrollbar_layer->clip_layer_length()); |
| + EXPECT_FLOAT_EQ(3.f, impl.host_impl()->active_tree()->device_scale_factor()); |
| + EXPECT_FLOAT_EQ(1.f, |
| + impl.host_impl()->active_tree()->current_page_scale_factor()); |
|
bokan
2017/04/18 17:39:08
No need to test any of the above lines. If you rea
|
| + |
| + EXPECT_FALSE(scrollbar_layer->CanScrollOrientation()); |
|
bokan
2017/04/18 17:39:08
You should also test the converse, that if the cli
|
| +} |
| + |
| } // namespace |
| } // namespace cc |