Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(380)

Side by Side Diff: ash/shelf/shelf_view_unittest.cc

Issue 2886253002: mash: remove more shell/shelf WmWindow usage. (Closed)
Patch Set: Sync and rebase. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "ash/shelf/shelf_view.h" 5 #include "ash/shelf/shelf_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 // Make sure creating/deleting an window on one displays notifies a 188 // Make sure creating/deleting an window on one displays notifies a
189 // shelf on external display as well as one on primary. 189 // shelf on external display as well as one on primary.
190 TEST_F(WmShelfObserverIconTest, AddRemoveWithMultipleDisplays) { 190 TEST_F(WmShelfObserverIconTest, AddRemoveWithMultipleDisplays) {
191 // TODO: investigate failure in mash, http://crbug.com/695751. 191 // TODO: investigate failure in mash, http://crbug.com/695751.
192 if (Shell::GetAshConfig() == Config::MASH) 192 if (Shell::GetAshConfig() == Config::MASH)
193 return; 193 return;
194 194
195 UpdateDisplay("400x400,400x400"); 195 UpdateDisplay("400x400,400x400");
196 observer()->Reset(); 196 observer()->Reset();
197 197
198 WmWindow* second_root = ShellPort::Get()->GetAllRootWindows()[1]; 198 WmShelf* second_shelf = WmShelf::ForWindow(Shell::GetAllRootWindows()[1]);
199 WmShelf* second_shelf = second_root->GetRootWindowController()->GetShelf();
200 TestWmShelfObserver second_observer(second_shelf); 199 TestWmShelfObserver second_observer(second_shelf);
201 200
202 ShelfItem item; 201 ShelfItem item;
203 item.id = ShelfID("foo"); 202 item.id = ShelfID("foo");
204 item.type = TYPE_APP; 203 item.type = TYPE_APP;
205 EXPECT_FALSE(observer()->icon_positions_changed()); 204 EXPECT_FALSE(observer()->icon_positions_changed());
206 EXPECT_FALSE(second_observer.icon_positions_changed()); 205 EXPECT_FALSE(second_observer.icon_positions_changed());
207 const int shelf_item_index = Shell::Get()->shelf_model()->Add(item); 206 const int shelf_item_index = Shell::Get()->shelf_model()->Add(item);
208 shelf_view_test()->RunMessageLoopUntilAnimationsDone(); 207 shelf_view_test()->RunMessageLoopUntilAnimationsDone();
209 EXPECT_TRUE(observer()->icon_positions_changed()); 208 EXPECT_TRUE(observer()->icon_positions_changed());
(...skipping 1425 matching lines...) Expand 10 before | Expand all | Expand 10 after
1635 test_for_overflow_view.GetBoundsForDragInsertInScreen(); 1634 test_for_overflow_view.GetBoundsForDragInsertInScreen();
1636 first_point = first_button->GetBoundsInScreen().CenterPoint(); 1635 first_point = first_button->GetBoundsInScreen().CenterPoint();
1637 last_point = last_button->GetBoundsInScreen().CenterPoint(); 1636 last_point = last_button->GetBoundsInScreen().CenterPoint();
1638 EXPECT_FALSE(drag_reinsert_bounds.Contains(first_point)); 1637 EXPECT_FALSE(drag_reinsert_bounds.Contains(first_point));
1639 EXPECT_TRUE(drag_reinsert_bounds.Contains(last_point)); 1638 EXPECT_TRUE(drag_reinsert_bounds.Contains(last_point));
1640 } 1639 }
1641 1640
1642 // Check the drag insertion bounds of shelf view in multi monitor environment. 1641 // Check the drag insertion bounds of shelf view in multi monitor environment.
1643 TEST_F(ShelfViewTest, CheckDragInsertBoundsWithMultiMonitor) { 1642 TEST_F(ShelfViewTest, CheckDragInsertBoundsWithMultiMonitor) {
1644 UpdateDisplay("800x600,800x600"); 1643 UpdateDisplay("800x600,800x600");
1645 WmShelf* secondary_shelf = 1644 WmShelf* secondary_shelf = WmShelf::ForWindow(Shell::GetAllRootWindows()[1]);
1646 WmShelf::ForWindow(ShellPort::Get()->GetAllRootWindows()[1]);
1647 ShelfView* shelf_view_for_secondary = 1645 ShelfView* shelf_view_for_secondary =
1648 secondary_shelf->GetShelfViewForTesting(); 1646 secondary_shelf->GetShelfViewForTesting();
1649 1647
1650 // The bounds should be big enough for 4 buttons + overflow chevron. 1648 // The bounds should be big enough for 4 buttons + overflow chevron.
1651 shelf_view_for_secondary->SetBounds(0, 0, 500, kShelfSize); 1649 shelf_view_for_secondary->SetBounds(0, 0, 500, kShelfSize);
1652 1650
1653 ShelfViewTestAPI test_api_for_secondary(shelf_view_for_secondary); 1651 ShelfViewTestAPI test_api_for_secondary(shelf_view_for_secondary);
1654 // Speeds up animation for test. 1652 // Speeds up animation for test.
1655 test_api_for_secondary.SetAnimationDuration(1); 1653 test_api_for_secondary.SetAnimationDuration(1);
1656 1654
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1701 // Checks that a point of overflow bubble in primary shelf should not be 1699 // Checks that a point of overflow bubble in primary shelf should not be
1702 // contained by insert bounds of secondary shelf. 1700 // contained by insert bounds of secondary shelf.
1703 EXPECT_FALSE(drag_reinsert_bounds_in_secondary.Contains(point_in_shelf_view)); 1701 EXPECT_FALSE(drag_reinsert_bounds_in_secondary.Contains(point_in_shelf_view));
1704 } 1702 }
1705 1703
1706 // Checks the rip an item off from left aligned shelf in secondary monitor. 1704 // Checks the rip an item off from left aligned shelf in secondary monitor.
1707 TEST_F(ShelfViewTest, CheckRipOffFromLeftShelfAlignmentWithMultiMonitor) { 1705 TEST_F(ShelfViewTest, CheckRipOffFromLeftShelfAlignmentWithMultiMonitor) {
1708 UpdateDisplay("800x600,800x600"); 1706 UpdateDisplay("800x600,800x600");
1709 ASSERT_EQ(2U, ShellPort::Get()->GetAllRootWindows().size()); 1707 ASSERT_EQ(2U, ShellPort::Get()->GetAllRootWindows().size());
1710 1708
1711 WmWindow* second_root = ShellPort::Get()->GetAllRootWindows()[1]; 1709 WmShelf* secondary_shelf = WmShelf::ForWindow(Shell::GetAllRootWindows()[1]);
1712 WmShelf* secondary_shelf = second_root->GetRootWindowController()->GetShelf();
1713 1710
1714 secondary_shelf->SetAlignment(SHELF_ALIGNMENT_LEFT); 1711 secondary_shelf->SetAlignment(SHELF_ALIGNMENT_LEFT);
1715 ASSERT_EQ(SHELF_ALIGNMENT_LEFT, secondary_shelf->alignment()); 1712 ASSERT_EQ(SHELF_ALIGNMENT_LEFT, secondary_shelf->alignment());
1716 1713
1717 // Initially, app list and browser shortcut are added. 1714 // Initially, app list and browser shortcut are added.
1718 EXPECT_EQ(2, model_->item_count()); 1715 EXPECT_EQ(2, model_->item_count());
1719 int browser_index = model_->GetItemIndexForType(TYPE_BROWSER_SHORTCUT); 1716 int browser_index = model_->GetItemIndexForType(TYPE_BROWSER_SHORTCUT);
1720 EXPECT_GT(browser_index, 0); 1717 EXPECT_GT(browser_index, 0);
1721 1718
1722 ShelfView* shelf_view_for_secondary = 1719 ShelfView* shelf_view_for_secondary =
1723 secondary_shelf->GetShelfViewForTesting(); 1720 secondary_shelf->GetShelfViewForTesting();
1724 1721
1725 ShelfViewTestAPI test_api_for_secondary_shelf_view(shelf_view_for_secondary); 1722 ShelfViewTestAPI test_api_for_secondary_shelf_view(shelf_view_for_secondary);
1726 ShelfButton* button = 1723 ShelfButton* button =
1727 test_api_for_secondary_shelf_view.GetButton(browser_index); 1724 test_api_for_secondary_shelf_view.GetButton(browser_index);
1728 1725
1729 // Fetch the start point of dragging. 1726 // Fetch the start point of dragging.
1730 gfx::Point start_point = button->GetBoundsInScreen().CenterPoint(); 1727 gfx::Point start_point = button->GetBoundsInScreen().CenterPoint();
1731 start_point = second_root->ConvertPointFromScreen(start_point); 1728 start_point =
1729 secondary_shelf->GetWindow()->ConvertPointFromScreen(start_point);
1732 1730
1733 ui::test::EventGenerator generator(Shell::GetAllRootWindows()[1], 1731 ui::test::EventGenerator generator(Shell::GetAllRootWindows()[1],
1734 start_point); 1732 start_point);
1735 1733
1736 // Rip off the browser item. 1734 // Rip off the browser item.
1737 generator.PressLeftButton(); 1735 generator.PressLeftButton();
1738 generator.MoveMouseTo(start_point.x() + 400, start_point.y()); 1736 generator.MoveMouseTo(start_point.x() + 400, start_point.y());
1739 test_api_for_secondary_shelf_view.RunMessageLoopUntilAnimationsDone(); 1737 test_api_for_secondary_shelf_view.RunMessageLoopUntilAnimationsDone();
1740 EXPECT_TRUE(test_api_for_secondary_shelf_view.IsRippedOffFromShelf()); 1738 EXPECT_TRUE(test_api_for_secondary_shelf_view.IsRippedOffFromShelf());
1741 } 1739 }
(...skipping 1384 matching lines...) Expand 10 before | Expand all | Expand 10 after
3126 EXPECT_EQ(views::InkDropState::ACTIVATED, 3124 EXPECT_EQ(views::InkDropState::ACTIVATED,
3127 overflow_button_ink_drop_->GetTargetInkDropState()); 3125 overflow_button_ink_drop_->GetTargetInkDropState());
3128 EXPECT_THAT(overflow_button_ink_drop_->GetAndResetRequestedStates(), 3126 EXPECT_THAT(overflow_button_ink_drop_->GetAndResetRequestedStates(),
3129 IsEmpty()); 3127 IsEmpty());
3130 3128
3131 ASSERT_TRUE(test_api_->IsShowingOverflowBubble()); 3129 ASSERT_TRUE(test_api_->IsShowingOverflowBubble());
3132 } 3130 }
3133 3131
3134 } // namespace test 3132 } // namespace test
3135 } // namespace ash 3133 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698