OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 #ifndef BatteryManager_h | 5 #ifndef BatteryManager_h |
6 #define BatteryManager_h | 6 #define BatteryManager_h |
7 | 7 |
8 #include "core/dom/ContextLifecycleObserver.h" | 8 #include "core/dom/ContextLifecycleObserver.h" |
9 #include "core/dom/Document.h" | 9 #include "core/dom/Document.h" |
10 #include "core/events/EventTarget.h" | 10 #include "core/events/EventTarget.h" |
| 11 #include "core/frame/DeviceSensorEventController.h" |
11 #include "heap/Handle.h" | 12 #include "heap/Handle.h" |
12 #include "modules/battery/BatteryStatus.h" | |
13 | 13 |
14 namespace WebCore { | 14 namespace WebCore { |
15 | 15 |
16 class Navigator; | 16 class Navigator; |
17 | 17 |
18 class BatteryManager FINAL : public RefCountedWillBeRefCountedGarbageCollected<B
atteryManager>, public ContextLifecycleObserver, public EventTargetWithInlineDat
a { | 18 class BatteryManager FINAL : public RefCountedWillBeRefCountedGarbageCollected<B
atteryManager>, public ActiveDOMObject, public DeviceSensorEventController, publ
ic EventTargetWithInlineData { |
19 DEFINE_EVENT_TARGET_REFCOUNTING(RefCountedWillBeRefCountedGarbageCollected<B
atteryManager>); | 19 DEFINE_EVENT_TARGET_REFCOUNTING(RefCountedWillBeRefCountedGarbageCollected<B
atteryManager>); |
20 public: | 20 public: |
21 virtual ~BatteryManager(); | 21 virtual ~BatteryManager(); |
22 static PassRefPtrWillBeRawPtr<BatteryManager> create(ExecutionContext*); | 22 static PassRefPtrWillBeRawPtr<BatteryManager> create(ExecutionContext*); |
23 | 23 |
24 // EventTarget implementation. | 24 // EventTarget implementation. |
25 virtual const WTF::AtomicString& interfaceName() const OVERRIDE { return Eve
ntTargetNames::BatteryManager; } | 25 virtual const WTF::AtomicString& interfaceName() const OVERRIDE { return Eve
ntTargetNames::BatteryManager; } |
26 virtual ExecutionContext* executionContext() const OVERRIDE { return Context
LifecycleObserver::executionContext(); } | 26 virtual ExecutionContext* executionContext() const OVERRIDE { return Context
LifecycleObserver::executionContext(); } |
27 | 27 |
28 bool charging(); | 28 bool charging(); |
29 double chargingTime(); | 29 double chargingTime(); |
30 double dischargingTime(); | 30 double dischargingTime(); |
31 double level(); | 31 double level(); |
32 | 32 |
33 DEFINE_ATTRIBUTE_EVENT_LISTENER(chargingchange); | 33 DEFINE_ATTRIBUTE_EVENT_LISTENER(chargingchange); |
34 DEFINE_ATTRIBUTE_EVENT_LISTENER(chargingtimechange); | 34 DEFINE_ATTRIBUTE_EVENT_LISTENER(chargingtimechange); |
35 DEFINE_ATTRIBUTE_EVENT_LISTENER(dischargingtimechange); | 35 DEFINE_ATTRIBUTE_EVENT_LISTENER(dischargingtimechange); |
36 DEFINE_ATTRIBUTE_EVENT_LISTENER(levelchange); | 36 DEFINE_ATTRIBUTE_EVENT_LISTENER(levelchange); |
37 | 37 |
38 void didChangeBatteryStatus(PassRefPtrWillBeRawPtr<Event>, PassOwnPtr<Batter
yStatus>); | 38 void didChangeBatteryStatus(PassRefPtrWillBeRawPtr<Event>); |
| 39 |
| 40 // ActiveDOMObject implementation. |
| 41 virtual bool canSuspend() const { return true; } |
| 42 virtual void suspend() OVERRIDE; |
| 43 virtual void resume() OVERRIDE; |
| 44 virtual void stop() OVERRIDE; |
| 45 |
| 46 // DeviceSensorEventController |
| 47 virtual void registerWithDispatcher() OVERRIDE; |
| 48 virtual void unregisterWithDispatcher() OVERRIDE; |
| 49 virtual bool hasLastData() OVERRIDE; |
| 50 virtual PassRefPtrWillBeRawPtr<Event> getLastEvent() OVERRIDE; |
| 51 virtual bool isNullEvent(Event*) OVERRIDE; |
39 | 52 |
40 void trace(Visitor*) { } | 53 void trace(Visitor*) { } |
41 | 54 |
42 private: | 55 private: |
43 explicit BatteryManager(ExecutionContext*); | 56 explicit BatteryManager(ExecutionContext*); |
44 | |
45 OwnPtr<BatteryStatus> m_batteryStatus; | |
46 }; | 57 }; |
47 | 58 |
48 } | 59 } |
49 | 60 |
50 #endif // BatteryManager_h | 61 #endif // BatteryManager_h |
51 | 62 |
OLD | NEW |