| 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 |