Index: Source/modules/battery/BatteryManager.h |
diff --git a/Source/modules/battery/BatteryManager.h b/Source/modules/battery/BatteryManager.h |
index 984abcfc67510d2ea4a0ddf75e26159c29b5d9cf..7274fb8c028cc5cde01befaf7a1e5a462a3c6062 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,20 @@ public: |
virtual void stop() OVERRIDE; |
private: |
+ class ThenFunction; |
+ |
+ enum State { |
+ NotStarted, |
+ Pending, |
+ Resolved, |
+ }; |
+ |
explicit BatteryManager(ExecutionContext*); |
+ void onPromiseResolved(); |
abarth-chromium
2014/06/11 19:44:34
didResolvePromise?
timvolodine
2014/06/12 16:38:45
Done.
|
+ RefPtr<ScriptPromiseResolverWithContext> m_resolver; |
RefPtr<BatteryStatus> m_batteryStatus; |
+ State m_state; |
}; |
} |