OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "ui/views/controls/scroll_view.h" | 5 #include "ui/views/controls/scroll_view.h" |
6 | 6 |
7 #include "base/macros.h" | 7 #include "base/macros.h" |
8 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
9 #include "base/test/test_timeouts.h" | 9 #include "base/test/test_timeouts.h" |
10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 View* contents = InstallContents(); | 275 View* contents = InstallContents(); |
276 scroll_view_.Layout(); | 276 scroll_view_.Layout(); |
277 EXPECT_EQ("0,0 100x100", contents->parent()->bounds().ToString()); | 277 EXPECT_EQ("0,0 100x100", contents->parent()->bounds().ToString()); |
278 } | 278 } |
279 | 279 |
280 // Verifies the viewport and content is sized to fit the available space for | 280 // Verifies the viewport and content is sized to fit the available space for |
281 // bounded scroll view. | 281 // bounded scroll view. |
282 TEST_F(ScrollViewTest, BoundedViewportSizedToFit) { | 282 TEST_F(ScrollViewTest, BoundedViewportSizedToFit) { |
283 View* contents = InstallContents(); | 283 View* contents = InstallContents(); |
284 scroll_view_.ClipHeightTo(100, 200); | 284 scroll_view_.ClipHeightTo(100, 200); |
285 scroll_view_.SetBorder(Border::CreateSolidBorder(2, 0)); | 285 scroll_view_.SetBorder(CreateSolidBorder(2, 0)); |
286 scroll_view_.Layout(); | 286 scroll_view_.Layout(); |
287 EXPECT_EQ("2,2 96x96", contents->parent()->bounds().ToString()); | 287 EXPECT_EQ("2,2 96x96", contents->parent()->bounds().ToString()); |
288 | 288 |
289 // Make sure the width of |contents| is set properly not to overflow the | 289 // Make sure the width of |contents| is set properly not to overflow the |
290 // viewport. | 290 // viewport. |
291 EXPECT_EQ(96, contents->width()); | 291 EXPECT_EQ(96, contents->width()); |
292 } | 292 } |
293 | 293 |
294 // Verifies the scrollbars are added as necessary. | 294 // Verifies the scrollbars are added as necessary. |
295 // If on Mac, test the non-overlay scrollbars. | 295 // If on Mac, test the non-overlay scrollbars. |
(...skipping 30 matching lines...) Expand all Loading... |
326 EXPECT_EQ(100 - scroll_view_.GetScrollBarHeight(), | 326 EXPECT_EQ(100 - scroll_view_.GetScrollBarHeight(), |
327 contents->parent()->height()); | 327 contents->parent()->height()); |
328 CheckScrollbarVisibility(scroll_view_, VERTICAL, true); | 328 CheckScrollbarVisibility(scroll_view_, VERTICAL, true); |
329 CheckScrollbarVisibility(scroll_view_, HORIZONTAL, true); | 329 CheckScrollbarVisibility(scroll_view_, HORIZONTAL, true); |
330 | 330 |
331 // Add a border, test vertical scrollbar. | 331 // Add a border, test vertical scrollbar. |
332 const int kTopPadding = 1; | 332 const int kTopPadding = 1; |
333 const int kLeftPadding = 2; | 333 const int kLeftPadding = 2; |
334 const int kBottomPadding = 3; | 334 const int kBottomPadding = 3; |
335 const int kRightPadding = 4; | 335 const int kRightPadding = 4; |
336 scroll_view_.SetBorder(Border::CreateEmptyBorder( | 336 scroll_view_.SetBorder(CreateEmptyBorder(kTopPadding, kLeftPadding, |
337 kTopPadding, kLeftPadding, kBottomPadding, kRightPadding)); | 337 kBottomPadding, kRightPadding)); |
338 contents->SetBounds(0, 0, 50, 400); | 338 contents->SetBounds(0, 0, 50, 400); |
339 scroll_view_.Layout(); | 339 scroll_view_.Layout(); |
340 EXPECT_EQ( | 340 EXPECT_EQ( |
341 100 - scroll_view_.GetScrollBarWidth() - kLeftPadding - kRightPadding, | 341 100 - scroll_view_.GetScrollBarWidth() - kLeftPadding - kRightPadding, |
342 contents->parent()->width()); | 342 contents->parent()->width()); |
343 EXPECT_EQ(100 - kTopPadding - kBottomPadding, contents->parent()->height()); | 343 EXPECT_EQ(100 - kTopPadding - kBottomPadding, contents->parent()->height()); |
344 EXPECT_TRUE(!scroll_view_.horizontal_scroll_bar() || | 344 EXPECT_TRUE(!scroll_view_.horizontal_scroll_bar() || |
345 !scroll_view_.horizontal_scroll_bar()->visible()); | 345 !scroll_view_.horizontal_scroll_bar()->visible()); |
346 ASSERT_TRUE(scroll_view_.vertical_scroll_bar() != NULL); | 346 ASSERT_TRUE(scroll_view_.vertical_scroll_bar() != NULL); |
347 EXPECT_TRUE(scroll_view_.vertical_scroll_bar()->visible()); | 347 EXPECT_TRUE(scroll_view_.vertical_scroll_bar()->visible()); |
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
893 // Scroll via ScrollView API. Should be reflected on the impl side. | 893 // Scroll via ScrollView API. Should be reflected on the impl side. |
894 offset.set_y(kDefaultHeight * 4); | 894 offset.set_y(kDefaultHeight * 4); |
895 scroll_view->contents()->ScrollRectToVisible(offset); | 895 scroll_view->contents()->ScrollRectToVisible(offset); |
896 EXPECT_EQ(gfx::ScrollOffset(0, offset.y()), test_api.CurrentOffset()); | 896 EXPECT_EQ(gfx::ScrollOffset(0, offset.y()), test_api.CurrentOffset()); |
897 | 897 |
898 EXPECT_TRUE(compositor->GetScrollOffsetForLayer(layer_id, &impl_offset)); | 898 EXPECT_TRUE(compositor->GetScrollOffsetForLayer(layer_id, &impl_offset)); |
899 EXPECT_EQ(gfx::ScrollOffset(0, offset.y()), impl_offset); | 899 EXPECT_EQ(gfx::ScrollOffset(0, offset.y()), impl_offset); |
900 } | 900 } |
901 | 901 |
902 } // namespace views | 902 } // namespace views |
OLD | NEW |