OLD | NEW |
| (Empty) |
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_LOCK_WINDOW_H_ | |
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_LOCK_WINDOW_H_ | |
7 | |
8 #include "base/basictypes.h" | |
9 | |
10 namespace views { | |
11 class Widget; | |
12 } | |
13 | |
14 namespace chromeos { | |
15 | |
16 // This is the interface which lock windows used for the WebUI screen locker | |
17 // implement. | |
18 class LockWindow { | |
19 public: | |
20 // This class provides an interface for the lock window to notify an observer | |
21 // about its status. | |
22 class Observer { | |
23 public: | |
24 // This method will be called when the lock window has finished all | |
25 // initialization. | |
26 virtual void OnLockWindowReady() = 0; | |
27 }; | |
28 | |
29 LockWindow(); | |
30 | |
31 // Attempt to grab inputs on the webview, the actual view displaying the lock | |
32 // screen WebView. | |
33 virtual void Grab() = 0; | |
34 | |
35 // Returns the actual widget for the lock window. | |
36 virtual views::Widget* GetWidget() = 0; | |
37 | |
38 // Sets the observer class which is notified on lock window events. | |
39 void set_observer(Observer* observer) { | |
40 observer_ = observer; | |
41 } | |
42 | |
43 // Creates an instance of the platform specific lock window. | |
44 static LockWindow* Create(); | |
45 | |
46 protected: | |
47 // The observer's OnLockWindowReady method will be called when the lock | |
48 // window has finished all initialization. | |
49 Observer* observer_; | |
50 | |
51 DISALLOW_COPY_AND_ASSIGN(LockWindow); | |
52 }; | |
53 | |
54 } // namespace chromeos | |
55 | |
56 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_LOCK_WINDOW_H_ | |
OLD | NEW |