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

Side by Side Diff: ash/wm/workspace/workspace_manager_unittest.cc

Issue 12313118: Refactor: Shelf Widget (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 9 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/wm/workspace/workspace_manager.h" 5 #include "ash/wm/workspace/workspace_manager.h"
6 6
7 #include "ash/ash_switches.h" 7 #include "ash/ash_switches.h"
8 #include "ash/root_window_controller.h" 8 #include "ash/root_window_controller.h"
9 #include "ash/screen_ash.h" 9 #include "ash/screen_ash.h"
10 #include "ash/shelf/shelf_layout_manager.h"
11 #include "ash/shelf/shelf_widget.h"
10 #include "ash/shell.h" 12 #include "ash/shell.h"
11 #include "ash/shell_window_ids.h" 13 #include "ash/shell_window_ids.h"
12 #include "ash/system/status_area_widget.h" 14 #include "ash/system/status_area_widget.h"
13 #include "ash/test/ash_test_base.h" 15 #include "ash/test/ash_test_base.h"
14 #include "ash/test/shell_test_api.h" 16 #include "ash/test/shell_test_api.h"
15 #include "ash/wm/activation_controller.h" 17 #include "ash/wm/activation_controller.h"
16 #include "ash/wm/property_util.h" 18 #include "ash/wm/property_util.h"
17 #include "ash/wm/shelf_layout_manager.h"
18 #include "ash/wm/window_properties.h" 19 #include "ash/wm/window_properties.h"
19 #include "ash/wm/window_util.h" 20 #include "ash/wm/window_util.h"
20 #include "ash/wm/workspace/workspace.h" 21 #include "ash/wm/workspace/workspace.h"
21 #include "ash/wm/workspace_controller_test_helper.h" 22 #include "ash/wm/workspace_controller_test_helper.h"
22 #include "base/command_line.h" 23 #include "base/command_line.h"
23 #include "base/string_number_conversions.h" 24 #include "base/string_number_conversions.h"
24 #include "ui/aura/client/aura_constants.h" 25 #include "ui/aura/client/aura_constants.h"
25 #include "ui/aura/root_window.h" 26 #include "ui/aura/root_window.h"
26 #include "ui/aura/test/event_generator.h" 27 #include "ui/aura/test/event_generator.h"
27 #include "ui/aura/test/test_window_delegate.h" 28 #include "ui/aura/test/test_window_delegate.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 } 70 }
70 71
71 gfx::Rect GetFullscreenBounds(aura::Window* window) { 72 gfx::Rect GetFullscreenBounds(aura::Window* window) {
72 return Shell::GetScreen()->GetDisplayNearestWindow(window).bounds(); 73 return Shell::GetScreen()->GetDisplayNearestWindow(window).bounds();
73 } 74 }
74 75
75 Workspace* active_workspace() { 76 Workspace* active_workspace() {
76 return manager_->active_workspace_; 77 return manager_->active_workspace_;
77 } 78 }
78 79
80 ShelfWidget* shelf_widget() {
81 return Shell::GetPrimaryRootWindowController()->shelf();
82 }
83
79 ShelfLayoutManager* shelf_layout_manager() { 84 ShelfLayoutManager* shelf_layout_manager() {
80 return Shell::GetPrimaryRootWindowController()->shelf(); 85 return Shell::GetPrimaryRootWindowController()->shelf_layout_manager();
81 } 86 }
82 87
83 bool GetWindowOverlapsShelf() { 88 bool GetWindowOverlapsShelf() {
84 return shelf_layout_manager()->window_overlaps_shelf(); 89 return shelf_layout_manager()->window_overlaps_shelf();
85 } 90 }
86 91
87 Workspace* FindBy(aura::Window* window) const { 92 Workspace* FindBy(aura::Window* window) const {
88 return manager_->FindBy(window); 93 return manager_->FindBy(window);
89 } 94 }
90 95
(...skipping 717 matching lines...) Expand 10 before | Expand all | Expand 10 after
808 // Verifies going from maximized to minimized sets the right state for painting 813 // Verifies going from maximized to minimized sets the right state for painting
809 // the background of the launcher. 814 // the background of the launcher.
810 TEST_F(WorkspaceManagerTest, MinimizeResetsVisibility) { 815 TEST_F(WorkspaceManagerTest, MinimizeResetsVisibility) {
811 scoped_ptr<Window> w1(CreateTestWindow()); 816 scoped_ptr<Window> w1(CreateTestWindow());
812 w1->Show(); 817 w1->Show();
813 wm::ActivateWindow(w1.get()); 818 wm::ActivateWindow(w1.get());
814 w1->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED); 819 w1->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED);
815 w1->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MINIMIZED); 820 w1->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MINIMIZED);
816 EXPECT_EQ(SHELF_VISIBLE, 821 EXPECT_EQ(SHELF_VISIBLE,
817 shelf_layout_manager()->visibility_state()); 822 shelf_layout_manager()->visibility_state());
818 EXPECT_FALSE(Launcher::ForPrimaryDisplay()->paints_background()); 823 EXPECT_FALSE(shelf_widget()->paints_background());
819 } 824 }
820 825
821 // Verifies transients are moved when maximizing. 826 // Verifies transients are moved when maximizing.
822 TEST_F(WorkspaceManagerTest, MoveTransientOnMaximize) { 827 TEST_F(WorkspaceManagerTest, MoveTransientOnMaximize) {
823 scoped_ptr<Window> w1(CreateTestWindow()); 828 scoped_ptr<Window> w1(CreateTestWindow());
824 w1->Show(); 829 w1->Show();
825 scoped_ptr<Window> w2(CreateTestWindow()); 830 scoped_ptr<Window> w2(CreateTestWindow());
826 w1->AddTransientChild(w2.get()); 831 w1->AddTransientChild(w2.get());
827 w2->Show(); 832 w2->Show();
828 wm::ActivateWindow(w1.get()); 833 wm::ActivateWindow(w1.get());
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
953 958
954 // Create another window and maximize it. 959 // Create another window and maximize it.
955 scoped_ptr<Window> w2(CreateTestWindow()); 960 scoped_ptr<Window> w2(CreateTestWindow());
956 w2->SetBounds(gfx::Rect(10, 11, 250, 251)); 961 w2->SetBounds(gfx::Rect(10, 11, 250, 251));
957 w2->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED); 962 w2->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED);
958 w2->Show(); 963 w2->Show();
959 wm::ActivateWindow(w2.get()); 964 wm::ActivateWindow(w2.get());
960 965
961 // Increase the size of the shelf. This would make |w1| fall completely out of 966 // Increase the size of the shelf. This would make |w1| fall completely out of
962 // the display work area. 967 // the display work area.
963 gfx::Size size(shelf->status_area_widget()->GetWindowBoundsInScreen().size()); 968 gfx::Size size(shelf_widget()->status_area_widget()->
969 GetWindowBoundsInScreen().size());
964 size.Enlarge(0, 30); 970 size.Enlarge(0, 30);
965 shelf->status_area_widget()->SetSize(size); 971 shelf_widget()->status_area_widget()->SetSize(size);
966 972
967 // Switch to w1. The window should have moved. 973 // Switch to w1. The window should have moved.
968 wm::ActivateWindow(w1.get()); 974 wm::ActivateWindow(w1.get());
969 EXPECT_NE(w1_bounds.ToString(), w1->bounds().ToString()); 975 EXPECT_NE(w1_bounds.ToString(), w1->bounds().ToString());
970 } 976 }
971 977
972 // Verifies Focus() works in a window that isn't in the active workspace. 978 // Verifies Focus() works in a window that isn't in the active workspace.
973 TEST_F(WorkspaceManagerTest, FocusOnFullscreenInSeparateWorkspace) { 979 TEST_F(WorkspaceManagerTest, FocusOnFullscreenInSeparateWorkspace) {
974 scoped_ptr<Window> w1(CreateTestWindow()); 980 scoped_ptr<Window> w1(CreateTestWindow());
975 w1->SetBounds(gfx::Rect(10, 11, 250, 251)); 981 w1->SetBounds(gfx::Rect(10, 11, 250, 251));
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after
1434 window2->layer()->GetAnimator()->StopAnimating(); 1440 window2->layer()->GetAnimator()->StopAnimating();
1435 // |window1| should be flush right and |window2| flush left. 1441 // |window1| should be flush right and |window2| flush left.
1436 EXPECT_EQ(base::IntToString( 1442 EXPECT_EQ(base::IntToString(
1437 desktop_area.width() - window1->bounds().width()) + 1443 desktop_area.width() - window1->bounds().width()) +
1438 ",32 640x320", window1->bounds().ToString()); 1444 ",32 640x320", window1->bounds().ToString());
1439 EXPECT_EQ("0,48 256x512", window2->bounds().ToString()); 1445 EXPECT_EQ("0,48 256x512", window2->bounds().ToString());
1440 } 1446 }
1441 1447
1442 } // namespace internal 1448 } // namespace internal
1443 } // namespace ash 1449 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698