OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2014 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 ScreenOrientationController_h | |
6 #define ScreenOrientationController_h | |
7 | |
8 #include "core/page/Page.h" | |
9 #include "modules/screen_orientation/ScreenOrientation.h" | |
10 #include "wtf/PassRefPtr.h" | |
11 | |
12 namespace WebCore { | |
13 | |
14 class ScreenOrientationClient; | |
15 | |
16 class ScreenOrientationController : public Supplement<Page> { | |
17 WTF_MAKE_NONCOPYABLE(ScreenOrientationController); | |
18 public: | |
19 static PassOwnPtr<ScreenOrientationController> create(ScreenOrientationClien t*); | |
20 | |
21 void addObserver(ScreenOrientation*); | |
22 void removeObserver(ScreenOrientation*); | |
23 | |
24 static const char* supplementName(); | |
Peter Beverloo
2014/02/12 18:19:37
nit: add a comment to indicate that these implemen
Inactive
2014/02/12 19:38:37
Done.
| |
25 static ScreenOrientationController* from(Page* page) { return static_cast<Sc reenOrientationController*>(Supplement<Page>::from(page, supplementName())); } | |
26 static ScreenOrientationClient* clientFrom(Page*); | |
27 | |
28 void orientationChanged(ScreenOrientationValue); | |
29 ScreenOrientationValue orientation() const { return m_orientation; } | |
30 | |
31 void setClientForTest(ScreenOrientationClient*); | |
32 bool hasClientForTest() { return m_hasClientForTest; } | |
33 ScreenOrientationClient* client() { return m_client; } | |
34 | |
35 private: | |
36 explicit ScreenOrientationController(ScreenOrientationClient*); | |
37 | |
38 ScreenOrientationClient* m_client; | |
39 ScreenOrientationValue m_orientation; | |
40 bool m_hasClientForTest; | |
41 | |
42 typedef HashSet<ScreenOrientation*> ObserversSet; | |
43 ObserversSet m_observers; | |
44 }; | |
45 | |
46 void provideScreenOrientation(Page*, ScreenOrientationClient*); | |
47 | |
48 } // namespace WebCore | |
49 | |
50 #endif // ScreenOrientationController_h | |
OLD | NEW |