Index: Source/modules/battery/BatteryManager.h |
diff --git a/Source/modules/battery/BatteryManager.h b/Source/modules/battery/BatteryManager.h |
index 984abcfc67510d2ea4a0ddf75e26159c29b5d9cf..756a22728f33442afb8399b913347a87ed2bc46c 100644 |
--- a/Source/modules/battery/BatteryManager.h |
+++ b/Source/modules/battery/BatteryManager.h |
@@ -5,6 +5,8 @@ |
#ifndef BatteryManager_h |
#define BatteryManager_h |
+#include "bindings/v8/ScriptPromise.h" |
+#include "bindings/v8/ScriptPromiseResolverWithContext.h" |
#include "core/dom/ContextLifecycleObserver.h" |
#include "core/dom/Document.h" |
#include "core/frame/DeviceEventControllerBase.h" |
@@ -14,7 +16,6 @@ |
namespace WebCore { |
class BatteryStatus; |
-class Navigator; |
class BatteryManager FINAL : public RefCountedWillBeRefCountedGarbageCollected<BatteryManager>, public ActiveDOMObject, public DeviceEventControllerBase, public EventTargetWithInlineData { |
REFCOUNTED_EVENT_TARGET(BatteryManager); |
@@ -23,6 +24,9 @@ public: |
virtual ~BatteryManager(); |
static PassRefPtrWillBeRawPtr<BatteryManager> create(ExecutionContext*); |
+ // Returns a promise object that will be resolved with this BatteryManager. |
+ ScriptPromise startRequest(ScriptState*); |
+ |
// EventTarget implementation. |
virtual const WTF::AtomicString& interfaceName() const OVERRIDE { return EventTargetNames::BatteryManager; } |
virtual ExecutionContext* executionContext() const OVERRIDE { return ContextLifecycleObserver::executionContext(); } |
@@ -50,9 +54,17 @@ public: |
virtual void stop() OVERRIDE; |
private: |
+ enum State { |
+ NotStarted, |
+ Pending, |
+ Resolved, |
+ }; |
+ |
explicit BatteryManager(ExecutionContext*); |
+ RefPtr<ScriptPromiseResolverWithContext> m_resolver; |
RefPtr<BatteryStatus> m_batteryStatus; |
+ State m_state; |
}; |
} |