[go: nahoru, domu]

blob: 0839bcd9a1a3aed80db60af30598ef25939ba5bc [file] [log] [blame]
Avi Drissman3a215d1e2022-09-07 19:43:091// Copyright 2016 The Chromium Authors
erg8f7f2a62016-11-03 00:20:202// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
James Cook346c8c62017-07-18 19:38:375#ifndef ASH_WM_LOCK_STATE_CONTROLLER_TEST_API_H_
6#define ASH_WM_LOCK_STATE_CONTROLLER_TEST_API_H_
erg8f7f2a62016-11-03 00:20:207
erg8f7f2a62016-11-03 00:20:208#include "ash/wm/lock_state_controller.h"
Arthur Sonzogni834e018f2023-04-22 10:20:029#include "base/memory/raw_ptr.h"
erg8f7f2a62016-11-03 00:20:2010
11namespace ash {
12
Qiang Xu90fc06d2017-10-14 01:31:3913// Helper class used by tests to access LockStateController's internal state.
erg8f7f2a62016-11-03 00:20:2014class LockStateControllerTestApi {
15 public:
16 explicit LockStateControllerTestApi(LockStateController* controller);
Peter Boströmec31a042021-09-16 23:37:3417
18 LockStateControllerTestApi(const LockStateControllerTestApi&) = delete;
19 LockStateControllerTestApi& operator=(const LockStateControllerTestApi&) =
20 delete;
21
erg8f7f2a62016-11-03 00:20:2022 ~LockStateControllerTestApi();
23
jamescookd9f152f2016-11-15 00:53:0824 void set_shutdown_controller(ShutdownController* shutdown_controller) {
25 controller_->shutdown_controller_ = shutdown_controller;
26 }
erg8f7f2a62016-11-03 00:20:2027
28 bool lock_fail_timer_is_running() const {
29 return controller_->lock_fail_timer_.IsRunning();
30 }
erg8f7f2a62016-11-03 00:20:2031 bool shutdown_timer_is_running() const {
32 return controller_->pre_shutdown_timer_.IsRunning();
33 }
34 bool real_shutdown_timer_is_running() const {
35 return controller_->real_shutdown_timer_.IsRunning();
36 }
37 bool is_animating_lock() const { return controller_->animating_lock_; }
erg8f7f2a62016-11-03 00:20:2038
39 void trigger_lock_fail_timeout() {
40 controller_->OnLockFailTimeout();
41 controller_->lock_fail_timer_.Stop();
42 }
erg8f7f2a62016-11-03 00:20:2043 void trigger_shutdown_timeout() {
44 controller_->OnPreShutdownAnimationTimeout();
45 controller_->pre_shutdown_timer_.Stop();
46 }
47 void trigger_real_shutdown_timeout() {
48 controller_->OnRealPowerTimeout();
49 controller_->real_shutdown_timer_.Stop();
50 }
51
52 private:
Arthur Sonzogni834e018f2023-04-22 10:20:0253 raw_ptr<LockStateController, ExperimentalAsh> controller_; // not owned
erg8f7f2a62016-11-03 00:20:2054};
55
erg8f7f2a62016-11-03 00:20:2056} // namespace ash
57
James Cook346c8c62017-07-18 19:38:3758#endif // ASH_WM_LOCK_STATE_CONTROLLER_TEST_API_H_