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 "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/display/mouse_cursor_event_filter.h" | 10 #include "ash/display/mouse_cursor_event_filter.h" |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 void LockScreenAndVerifyMenuClosed() { | 157 void LockScreenAndVerifyMenuClosed() { |
158 // Verify a menu is open before locking. | 158 // Verify a menu is open before locking. |
159 views::MenuController* menu_controller = | 159 views::MenuController* menu_controller = |
160 views::MenuController::GetActiveInstance(); | 160 views::MenuController::GetActiveInstance(); |
161 DCHECK(menu_controller); | 161 DCHECK(menu_controller); |
162 EXPECT_EQ(views::MenuController::EXIT_NONE, menu_controller->exit_type()); | 162 EXPECT_EQ(views::MenuController::EXIT_NONE, menu_controller->exit_type()); |
163 | 163 |
164 // Create a LockScreen window. | 164 // Create a LockScreen window. |
165 views::Widget::InitParams widget_params( | 165 views::Widget::InitParams widget_params( |
166 views::Widget::InitParams::TYPE_WINDOW); | 166 views::Widget::InitParams::TYPE_WINDOW); |
167 SessionController* controller = Shell::Get()->session_controller(); | |
168 controller->LockScreenAndFlushForTest(); | |
169 views::Widget* lock_widget = CreateTestWindow(widget_params); | 167 views::Widget* lock_widget = CreateTestWindow(widget_params); |
170 Shell::GetContainer(Shell::GetPrimaryRootWindow(), | 168 Shell::GetContainer(Shell::GetPrimaryRootWindow(), |
171 kShellWindowId_LockScreenContainer) | 169 kShellWindowId_LockScreenContainer) |
172 ->AddChild(lock_widget->GetNativeView()); | 170 ->AddChild(lock_widget->GetNativeView()); |
173 lock_widget->Show(); | 171 lock_widget->Show(); |
| 172 |
| 173 // Simulate real screen locker to change session state to LOCKED |
| 174 // when it is shown. |
| 175 SessionController* controller = Shell::Get()->session_controller(); |
| 176 controller->LockScreenAndFlushForTest(); |
| 177 |
174 EXPECT_TRUE(controller->IsScreenLocked()); | 178 EXPECT_TRUE(controller->IsScreenLocked()); |
175 EXPECT_TRUE(lock_widget->GetNativeView()->HasFocus()); | 179 EXPECT_TRUE(lock_widget->GetNativeView()->HasFocus()); |
176 | 180 |
177 // Verify menu is closed. | 181 // Verify menu is closed. |
178 EXPECT_EQ(nullptr, views::MenuController::GetActiveInstance()); | 182 EXPECT_EQ(nullptr, views::MenuController::GetActiveInstance()); |
179 lock_widget->Close(); | 183 lock_widget->Close(); |
180 GetSessionControllerClient()->UnlockScreen(); | 184 GetSessionControllerClient()->UnlockScreen(); |
181 } | 185 } |
182 }; | 186 }; |
183 | 187 |
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
511 // the case with classic-ash where embedders can separately create | 515 // the case with classic-ash where embedders can separately create |
512 // aura::Windows. | 516 // aura::Windows. |
513 if (WmShell::Get()->IsRunningInMash()) | 517 if (WmShell::Get()->IsRunningInMash()) |
514 return; | 518 return; |
515 | 519 |
516 window_.reset(new aura::Window(NULL)); | 520 window_.reset(new aura::Window(NULL)); |
517 window_->Init(ui::LAYER_NOT_DRAWN); | 521 window_->Init(ui::LAYER_NOT_DRAWN); |
518 } | 522 } |
519 | 523 |
520 } // namespace ash | 524 } // namespace ash |
OLD | NEW |