OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/session/session_controller.h" | 5 #include "ash/session/session_controller.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "ash/session/session_observer.h" | 9 #include "ash/session/session_observer.h" |
10 #include "ash/shell.h" | 10 #include "ash/shell.h" |
| 11 #include "ash/system/power/power_event_observer.h" |
11 #include "ash/wm/lock_state_controller.h" | 12 #include "ash/wm/lock_state_controller.h" |
12 #include "base/bind.h" | 13 #include "base/bind.h" |
13 #include "base/bind_helpers.h" | 14 #include "base/bind_helpers.h" |
14 #include "base/command_line.h" | 15 #include "base/command_line.h" |
15 #include "chromeos/chromeos_switches.h" | 16 #include "chromeos/chromeos_switches.h" |
16 #include "components/signin/core/account_id/account_id.h" | 17 #include "components/signin/core/account_id/account_id.h" |
17 #include "components/user_manager/user_type.h" | 18 #include "components/user_manager/user_type.h" |
18 #include "services/service_manager/public/cpp/connector.h" | 19 #include "services/service_manager/public/cpp/connector.h" |
19 | 20 |
20 using session_manager::SessionState; | 21 using session_manager::SessionState; |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 | 236 |
236 LockStateController* const lock_state_controller = | 237 LockStateController* const lock_state_controller = |
237 Shell::Get()->lock_state_controller(); | 238 Shell::Get()->lock_state_controller(); |
238 | 239 |
239 lock_state_controller->SetLockScreenDisplayedCallback( | 240 lock_state_controller->SetLockScreenDisplayedCallback( |
240 base::Bind(&SessionController::OnLockAnimationFinished, | 241 base::Bind(&SessionController::OnLockAnimationFinished, |
241 weak_ptr_factory_.GetWeakPtr())); | 242 weak_ptr_factory_.GetWeakPtr())); |
242 lock_state_controller->OnStartingLock(); | 243 lock_state_controller->OnStartingLock(); |
243 } | 244 } |
244 | 245 |
| 246 void SessionController::NotifyChromeLockAnimationsComplete() { |
| 247 Shell::Get()->power_event_observer()->OnLockAnimationsComplete(); |
| 248 } |
| 249 |
245 void SessionController::RunUnlockAnimation( | 250 void SessionController::RunUnlockAnimation( |
246 const RunUnlockAnimationCallback& callback) { | 251 const RunUnlockAnimationCallback& callback) { |
247 is_unlocking_ = true; | 252 is_unlocking_ = true; |
248 | 253 |
249 // Shell could have no instance in tests. | 254 // Shell could have no instance in tests. |
250 if (Shell::HasInstance()) | 255 if (Shell::HasInstance()) |
251 Shell::Get()->lock_state_controller()->OnLockScreenHide(callback); | 256 Shell::Get()->lock_state_controller()->OnLockScreenHide(callback); |
252 } | 257 } |
253 | 258 |
254 void SessionController::NotifyChromeTerminating() { | 259 void SessionController::NotifyChromeTerminating() { |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 for (auto& observer : observers_) | 371 for (auto& observer : observers_) |
367 observer.OnLoginStatusChanged(login_status_); | 372 observer.OnLoginStatusChanged(login_status_); |
368 } | 373 } |
369 | 374 |
370 void SessionController::OnLockAnimationFinished() { | 375 void SessionController::OnLockAnimationFinished() { |
371 if (!start_lock_callback_.is_null()) | 376 if (!start_lock_callback_.is_null()) |
372 std::move(start_lock_callback_).Run(true /* locked */); | 377 std::move(start_lock_callback_).Run(true /* locked */); |
373 } | 378 } |
374 | 379 |
375 } // namespace ash | 380 } // namespace ash |
OLD | NEW |