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

Side by Side Diff: ash/shell_unittest.cc

Issue 2734933004: ash: Use SessionController instead of SessionStateDelegate (Closed)
Patch Set: rebase to get WorkspaceLayoutManagerSoloTest change Created 3 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
« no previous file with comments | « ash/shell/window_type_launcher.cc ('k') | ash/system/chromeos/power/power_event_observer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/shell.h" 5 #include "ash/shell.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "ash/common/session/session_state_delegate.h" 10 #include "ash/common/session/session_controller.h"
11 #include "ash/common/shelf/shelf_layout_manager.h" 11 #include "ash/common/shelf/shelf_layout_manager.h"
12 #include "ash/common/shelf/shelf_widget.h" 12 #include "ash/common/shelf/shelf_widget.h"
13 #include "ash/common/shelf/wm_shelf.h" 13 #include "ash/common/shelf/wm_shelf.h"
14 #include "ash/common/test/test_session_controller_client.h"
14 #include "ash/common/wallpaper/wallpaper_widget_controller.h" 15 #include "ash/common/wallpaper/wallpaper_widget_controller.h"
15 #include "ash/common/wm_shell.h" 16 #include "ash/common/wm_shell.h"
16 #include "ash/common/wm_window.h" 17 #include "ash/common/wm_window.h"
17 #include "ash/display/mouse_cursor_event_filter.h" 18 #include "ash/display/mouse_cursor_event_filter.h"
18 #include "ash/drag_drop/drag_drop_controller.h" 19 #include "ash/drag_drop/drag_drop_controller.h"
19 #include "ash/public/cpp/shell_window_ids.h" 20 #include "ash/public/cpp/shell_window_ids.h"
20 #include "ash/root_window_controller.h" 21 #include "ash/root_window_controller.h"
21 #include "ash/test/ash_test_base.h" 22 #include "ash/test/ash_test_base.h"
22 #include "ash/test/shell_test_api.h" 23 #include "ash/test/shell_test_api.h"
23 #include "ash/wm/window_util.h" 24 #include "ash/wm/window_util.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 void LockScreenAndVerifyMenuClosed() { 150 void LockScreenAndVerifyMenuClosed() {
150 // Verify a menu is open before locking. 151 // Verify a menu is open before locking.
151 views::MenuController* menu_controller = 152 views::MenuController* menu_controller =
152 views::MenuController::GetActiveInstance(); 153 views::MenuController::GetActiveInstance();
153 DCHECK(menu_controller); 154 DCHECK(menu_controller);
154 EXPECT_EQ(views::MenuController::EXIT_NONE, menu_controller->exit_type()); 155 EXPECT_EQ(views::MenuController::EXIT_NONE, menu_controller->exit_type());
155 156
156 // Create a LockScreen window. 157 // Create a LockScreen window.
157 views::Widget::InitParams widget_params( 158 views::Widget::InitParams widget_params(
158 views::Widget::InitParams::TYPE_WINDOW); 159 views::Widget::InitParams::TYPE_WINDOW);
159 SessionStateDelegate* delegate = WmShell::Get()->GetSessionStateDelegate(); 160 SessionController* controller = WmShell::Get()->session_controller();
160 delegate->LockScreen(); 161 controller->LockScreenAndFlushForTest();
161 views::Widget* lock_widget = CreateTestWindow(widget_params); 162 views::Widget* lock_widget = CreateTestWindow(widget_params);
162 Shell::GetContainer(Shell::GetPrimaryRootWindow(), 163 Shell::GetContainer(Shell::GetPrimaryRootWindow(),
163 kShellWindowId_LockScreenContainer) 164 kShellWindowId_LockScreenContainer)
164 ->AddChild(lock_widget->GetNativeView()); 165 ->AddChild(lock_widget->GetNativeView());
165 lock_widget->Show(); 166 lock_widget->Show();
166 EXPECT_TRUE(delegate->IsScreenLocked()); 167 EXPECT_TRUE(controller->IsScreenLocked());
167 EXPECT_TRUE(lock_widget->GetNativeView()->HasFocus()); 168 EXPECT_TRUE(lock_widget->GetNativeView()->HasFocus());
168 169
169 // Verify menu is closed. 170 // Verify menu is closed.
170 EXPECT_EQ(nullptr, views::MenuController::GetActiveInstance()); 171 EXPECT_EQ(nullptr, views::MenuController::GetActiveInstance());
171 lock_widget->Close(); 172 lock_widget->Close();
172 delegate->UnlockScreen(); 173 GetSessionControllerClient()->UnlockScreen();
173 } 174 }
174 }; 175 };
175 176
176 TEST_F(ShellTest, CreateWindow) { 177 TEST_F(ShellTest, CreateWindow) {
177 // Normal window should be created in default container. 178 // Normal window should be created in default container.
178 TestCreateWindow(views::Widget::InitParams::TYPE_WINDOW, 179 TestCreateWindow(views::Widget::InitParams::TYPE_WINDOW,
179 false, // always_on_top 180 false, // always_on_top
180 GetDefaultContainer()); 181 GetDefaultContainer());
181 TestCreateWindow(views::Widget::InitParams::TYPE_POPUP, 182 TestCreateWindow(views::Widget::InitParams::TYPE_POPUP,
182 false, // always_on_top 183 false, // always_on_top
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 264
264 // Create a normal window. 265 // Create a normal window.
265 views::Widget* widget = CreateTestWindow(widget_params); 266 views::Widget* widget = CreateTestWindow(widget_params);
266 widget->Show(); 267 widget->Show();
267 EXPECT_TRUE(widget->GetNativeView()->HasFocus()); 268 EXPECT_TRUE(widget->GetNativeView()->HasFocus());
268 269
269 // It should be in default container. 270 // It should be in default container.
270 EXPECT_TRUE( 271 EXPECT_TRUE(
271 GetDefaultContainer()->Contains(widget->GetNativeWindow()->parent())); 272 GetDefaultContainer()->Contains(widget->GetNativeWindow()->parent()));
272 273
273 WmShell::Get()->GetSessionStateDelegate()->LockScreen(); 274 WmShell::Get()->session_controller()->LockScreenAndFlushForTest();
274 // Create a LockScreen window. 275 // Create a LockScreen window.
275 views::Widget* lock_widget = CreateTestWindow(widget_params); 276 views::Widget* lock_widget = CreateTestWindow(widget_params);
276 Shell::GetContainer(Shell::GetPrimaryRootWindow(), 277 Shell::GetContainer(Shell::GetPrimaryRootWindow(),
277 kShellWindowId_LockScreenContainer) 278 kShellWindowId_LockScreenContainer)
278 ->AddChild(lock_widget->GetNativeView()); 279 ->AddChild(lock_widget->GetNativeView());
279 lock_widget->Show(); 280 lock_widget->Show();
280 EXPECT_TRUE(lock_widget->GetNativeView()->HasFocus()); 281 EXPECT_TRUE(lock_widget->GetNativeView()->HasFocus());
281 282
282 // It should be in LockScreen container. 283 // It should be in LockScreen container.
283 aura::Window* lock_screen = Shell::GetContainer( 284 aura::Window* lock_screen = Shell::GetContainer(
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 321
321 modal_dialog->Close(); 322 modal_dialog->Close();
322 modal_widget->Close(); 323 modal_widget->Close();
323 modal_widget->Close(); 324 modal_widget->Close();
324 lock_modal_widget->Close(); 325 lock_modal_widget->Close();
325 lock_widget->Close(); 326 lock_widget->Close();
326 widget->Close(); 327 widget->Close();
327 } 328 }
328 329
329 TEST_F(ShellTest, IsScreenLocked) { 330 TEST_F(ShellTest, IsScreenLocked) {
330 SessionStateDelegate* delegate = WmShell::Get()->GetSessionStateDelegate(); 331 SessionController* controller = WmShell::Get()->session_controller();
331 delegate->LockScreen(); 332 controller->LockScreenAndFlushForTest();
332 EXPECT_TRUE(delegate->IsScreenLocked()); 333 EXPECT_TRUE(controller->IsScreenLocked());
333 delegate->UnlockScreen(); 334 GetSessionControllerClient()->UnlockScreen();
334 EXPECT_FALSE(delegate->IsScreenLocked()); 335 EXPECT_FALSE(controller->IsScreenLocked());
335 } 336 }
336 337
337 TEST_F(ShellTest, LockScreenClosesActiveMenu) { 338 TEST_F(ShellTest, LockScreenClosesActiveMenu) {
338 SimpleMenuDelegate menu_delegate; 339 SimpleMenuDelegate menu_delegate;
339 std::unique_ptr<ui::SimpleMenuModel> menu_model( 340 std::unique_ptr<ui::SimpleMenuModel> menu_model(
340 new ui::SimpleMenuModel(&menu_delegate)); 341 new ui::SimpleMenuModel(&menu_delegate));
341 menu_model->AddItem(0, base::ASCIIToUTF16("Menu item")); 342 menu_model->AddItem(0, base::ASCIIToUTF16("Menu item"));
342 views::Widget* widget = WmShell::Get() 343 views::Widget* widget = WmShell::Get()
343 ->GetPrimaryRootWindow() 344 ->GetPrimaryRootWindow()
344 ->GetRootWindowController() 345 ->GetRootWindowController()
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 // the case with classic-ash where embedders can separately create 504 // the case with classic-ash where embedders can separately create
504 // aura::Windows. 505 // aura::Windows.
505 if (WmShell::Get()->IsRunningInMash()) 506 if (WmShell::Get()->IsRunningInMash())
506 return; 507 return;
507 508
508 window_.reset(new aura::Window(NULL)); 509 window_.reset(new aura::Window(NULL));
509 window_->Init(ui::LAYER_NOT_DRAWN); 510 window_->Init(ui::LAYER_NOT_DRAWN);
510 } 511 }
511 512
512 } // namespace ash 513 } // namespace ash
OLDNEW
« no previous file with comments | « ash/shell/window_type_launcher.cc ('k') | ash/system/chromeos/power/power_event_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698