| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "cc/layers/scrollbar_layer.h" | 5 #include "cc/layers/scrollbar_layer.h" |
| 6 | 6 |
| 7 #include "cc/animation/scrollbar_animation_controller.h" | 7 #include "cc/animation/scrollbar_animation_controller.h" |
| 8 #include "cc/layers/append_quads_data.h" | 8 #include "cc/layers/append_quads_data.h" |
| 9 #include "cc/layers/scrollbar_layer_impl.h" | 9 #include "cc/layers/scrollbar_layer_impl.h" |
| 10 #include "cc/quads/solid_color_draw_quad.h" | 10 #include "cc/quads/solid_color_draw_quad.h" |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 } | 73 } |
| 74 } | 74 } |
| 75 | 75 |
| 76 TEST(ScrollbarLayerTest, shouldScrollNonOverlayOnMainThread) | 76 TEST(ScrollbarLayerTest, shouldScrollNonOverlayOnMainThread) |
| 77 { | 77 { |
| 78 FakeImplProxy proxy; | 78 FakeImplProxy proxy; |
| 79 FakeLayerTreeHostImpl hostImpl(&proxy); | 79 FakeLayerTreeHostImpl hostImpl(&proxy); |
| 80 | 80 |
| 81 // Create and attach a non-overlay scrollbar. | 81 // Create and attach a non-overlay scrollbar. |
| 82 scoped_ptr<WebKit::WebScrollbar> scrollbar(FakeWebScrollbar::Create()); | 82 scoped_ptr<WebKit::WebScrollbar> scrollbar(FakeWebScrollbar::Create()); |
| 83 static_cast<FakeWebScrollbar*>(scrollbar.get())->setOverlay(false); | 83 static_cast<FakeWebScrollbar*>(scrollbar.get())->set_overlay(false); |
| 84 scoped_ptr<LayerImpl> layerImplTreeRoot = layerImplForScrollAreaAndScrollbar
(&hostImpl, scrollbar.Pass(), false); | 84 scoped_ptr<LayerImpl> layerImplTreeRoot = layerImplForScrollAreaAndScrollbar
(&hostImpl, scrollbar.Pass(), false); |
| 85 ScrollbarLayerImpl* scrollbarLayerImpl = static_cast<ScrollbarLayerImpl*>(la
yerImplTreeRoot->children()[1]); | 85 ScrollbarLayerImpl* scrollbarLayerImpl = static_cast<ScrollbarLayerImpl*>(la
yerImplTreeRoot->children()[1]); |
| 86 | 86 |
| 87 // When the scrollbar is not an overlay scrollbar, the scroll should be | 87 // When the scrollbar is not an overlay scrollbar, the scroll should be |
| 88 // responded to on the main thread as the compositor does not yet implement | 88 // responded to on the main thread as the compositor does not yet implement |
| 89 // scrollbar scrolling. | 89 // scrollbar scrolling. |
| 90 EXPECT_EQ(InputHandlerClient::ScrollOnMainThread, scrollbarLayerImpl->TryScr
oll(gfx::Point(0, 0), InputHandlerClient::Gesture)); | 90 EXPECT_EQ(InputHandlerClient::ScrollOnMainThread, scrollbarLayerImpl->TryScr
oll(gfx::Point(0, 0), InputHandlerClient::Gesture)); |
| 91 | 91 |
| 92 // Create and attach an overlay scrollbar. | 92 // Create and attach an overlay scrollbar. |
| 93 scrollbar = FakeWebScrollbar::Create(); | 93 scrollbar = FakeWebScrollbar::Create(); |
| 94 static_cast<FakeWebScrollbar*>(scrollbar.get())->setOverlay(true); | 94 static_cast<FakeWebScrollbar*>(scrollbar.get())->set_overlay(true); |
| 95 | 95 |
| 96 layerImplTreeRoot = layerImplForScrollAreaAndScrollbar(&hostImpl, scrollbar.
Pass(), false); | 96 layerImplTreeRoot = layerImplForScrollAreaAndScrollbar(&hostImpl, scrollbar.
Pass(), false); |
| 97 scrollbarLayerImpl = static_cast<ScrollbarLayerImpl*>(layerImplTreeRoot->chi
ldren()[1]); | 97 scrollbarLayerImpl = static_cast<ScrollbarLayerImpl*>(layerImplTreeRoot->chi
ldren()[1]); |
| 98 | 98 |
| 99 // The user shouldn't be able to drag an overlay scrollbar and the scroll | 99 // The user shouldn't be able to drag an overlay scrollbar and the scroll |
| 100 // may be handled in the compositor. | 100 // may be handled in the compositor. |
| 101 EXPECT_EQ(InputHandlerClient::ScrollIgnored, scrollbarLayerImpl->TryScroll(g
fx::Point(0, 0), InputHandlerClient::Gesture)); | 101 EXPECT_EQ(InputHandlerClient::ScrollIgnored, scrollbarLayerImpl->TryScroll(g
fx::Point(0, 0), InputHandlerClient::Gesture)); |
| 102 } | 102 } |
| 103 | 103 |
| 104 TEST(ScrollbarLayerTest, scrollOffsetSynchronization) | 104 TEST(ScrollbarLayerTest, scrollOffsetSynchronization) |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 | 150 |
| 151 TEST(ScrollbarLayerTest, solidColorDrawQuads) | 151 TEST(ScrollbarLayerTest, solidColorDrawQuads) |
| 152 { | 152 { |
| 153 LayerTreeSettings layerTreeSettings; | 153 LayerTreeSettings layerTreeSettings; |
| 154 layerTreeSettings.solid_color_scrollbars = true; | 154 layerTreeSettings.solid_color_scrollbars = true; |
| 155 layerTreeSettings.solid_color_scrollbar_thickness_dip = 3; | 155 layerTreeSettings.solid_color_scrollbar_thickness_dip = 3; |
| 156 FakeImplProxy proxy; | 156 FakeImplProxy proxy; |
| 157 FakeLayerTreeHostImpl hostImpl(layerTreeSettings, &proxy); | 157 FakeLayerTreeHostImpl hostImpl(layerTreeSettings, &proxy); |
| 158 | 158 |
| 159 scoped_ptr<WebKit::WebScrollbar> scrollbar(FakeWebScrollbar::Create()); | 159 scoped_ptr<WebKit::WebScrollbar> scrollbar(FakeWebScrollbar::Create()); |
| 160 static_cast<FakeWebScrollbar*>(scrollbar.get())->setOverlay(true); | 160 static_cast<FakeWebScrollbar*>(scrollbar.get())->set_overlay(true); |
| 161 scoped_ptr<LayerImpl> layerImplTreeRoot = layerImplForScrollAreaAndScrollbar
(&hostImpl, scrollbar.Pass(), false); | 161 scoped_ptr<LayerImpl> layerImplTreeRoot = layerImplForScrollAreaAndScrollbar
(&hostImpl, scrollbar.Pass(), false); |
| 162 ScrollbarLayerImpl* scrollbarLayerImpl = static_cast<ScrollbarLayerImpl*>(la
yerImplTreeRoot->children()[1]); | 162 ScrollbarLayerImpl* scrollbarLayerImpl = static_cast<ScrollbarLayerImpl*>(la
yerImplTreeRoot->children()[1]); |
| 163 scrollbarLayerImpl->SetThumbSize(gfx::Size(4, 4)); | 163 scrollbarLayerImpl->SetThumbSize(gfx::Size(4, 4)); |
| 164 scrollbarLayerImpl->SetViewportWithinScrollableArea( | 164 scrollbarLayerImpl->SetViewportWithinScrollableArea( |
| 165 gfx::RectF(10.f, 0.f, 40.f, 0.f), gfx::SizeF(100.f, 100.f)); | 165 gfx::RectF(10.f, 0.f, 40.f, 0.f), gfx::SizeF(100.f, 100.f)); |
| 166 | 166 |
| 167 // Thickness should be overridden to 3. | 167 // Thickness should be overridden to 3. |
| 168 { | 168 { |
| 169 MockQuadCuller quadCuller; | 169 MockQuadCuller quadCuller; |
| 170 AppendQuadsData data; | 170 AppendQuadsData data; |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 EXPECT_EQ(10, pinchZoomHorizontal->CurrentPos()); | 401 EXPECT_EQ(10, pinchZoomHorizontal->CurrentPos()); |
| 402 EXPECT_EQ(100, pinchZoomHorizontal->TotalSize()); | 402 EXPECT_EQ(100, pinchZoomHorizontal->TotalSize()); |
| 403 EXPECT_EQ(30, pinchZoomHorizontal->Maximum()); | 403 EXPECT_EQ(30, pinchZoomHorizontal->Maximum()); |
| 404 EXPECT_EQ(20, pinchZoomVertical->CurrentPos()); | 404 EXPECT_EQ(20, pinchZoomVertical->CurrentPos()); |
| 405 EXPECT_EQ(200, pinchZoomVertical->TotalSize()); | 405 EXPECT_EQ(200, pinchZoomVertical->TotalSize()); |
| 406 EXPECT_EQ(50, pinchZoomVertical->Maximum()); | 406 EXPECT_EQ(50, pinchZoomVertical->Maximum()); |
| 407 } | 407 } |
| 408 | 408 |
| 409 } // namespace | 409 } // namespace |
| 410 } // namespace cc | 410 } // namespace cc |
| OLD | NEW |