- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / login / screen_locker_tester.h
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREEN_LOCKER_TESTER_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREEN_LOCKER_TESTER_H_
7
8 #include <string>
9
10 #include "base/basictypes.h"
11
12 namespace views {
13 class Widget;
14 }  // namespace views
15
16 namespace chromeos {
17
18 namespace test {
19
20 // ScreenLockerTester provides access to the private state/function
21 // of ScreenLocker class. Used to implement unit tests.
22 class ScreenLockerTester {
23  public:
24   ScreenLockerTester();
25   virtual ~ScreenLockerTester();
26
27   // Returns true if the screen is locked.
28   virtual bool IsLocked();
29
30   // Injects MockAuthenticate that uses given |user| and |password|.
31   virtual void InjectMockAuthenticator(const std::string& user,
32                                        const std::string& password);
33
34   // Sets the password text.
35   virtual void SetPassword(const std::string& password) = 0;
36
37   // Gets the password text.
38   virtual std::string GetPassword() = 0;
39
40   // Emulates entring a password.
41   virtual void EnterPassword(const std::string& password) = 0;
42
43   // Emulates the ready message from window manager.
44   virtual void EmulateWindowManagerReady() = 0;
45
46   // Returns the widget for screen locker window.
47   virtual views::Widget* GetWidget() const = 0;
48
49   virtual views::Widget* GetChildWidget() const = 0;
50 };
51
52 }  // namespace test
53
54 }  // namespace chromeos
55
56 #endif  // CHROME_BROWSER_CHROMEOS_LOGIN_SCREEN_LOCKER_TESTER_H_