Index: Source/modules/webmidi/NavigatorWebMIDI.h |
diff --git a/Source/modules/webmidi/NavigatorWebMIDI.h b/Source/modules/webmidi/NavigatorWebMIDI.h |
index 1b6e73bc191e3f42a7251e55eeb4f67b4341c3e9..ade363133cca87ba1a3625303aab307eed6f1c10 100644 |
--- a/Source/modules/webmidi/NavigatorWebMIDI.h |
+++ b/Source/modules/webmidi/NavigatorWebMIDI.h |
@@ -31,26 +31,40 @@ |
#ifndef NavigatorWebMIDI_h |
#define NavigatorWebMIDI_h |
+#include "bindings/v8/DOMRequestState.h" |
+#include "bindings/v8/ScriptPromise.h" |
+#include "bindings/v8/ScriptPromiseResolver.h" |
#include "core/frame/DOMWindowProperty.h" |
#include "modules/webmidi/MIDIOptions.h" |
#include "platform/Supplementable.h" |
+#include "wtf/HashMap.h" |
+#include "wtf/OwnPtr.h" |
+#include "wtf/RefPtr.h" |
namespace WebCore { |
-class MIDIAccessPromise; |
+class DOMError; |
+class Frame; |
class Navigator; |
+class MIDIAccess; |
class NavigatorWebMIDI : public Supplement<Navigator>, public DOMWindowProperty { |
public: |
virtual ~NavigatorWebMIDI(); |
static NavigatorWebMIDI* from(Navigator*); |
- static PassRefPtr<MIDIAccessPromise> requestMIDIAccess(Navigator*, const Dictionary&); |
- PassRefPtr<MIDIAccessPromise> requestMIDIAccess(const Dictionary&); |
+ static ScriptPromise requestMIDIAccess(Navigator*, const Dictionary&); |
+ ScriptPromise requestMIDIAccess(const Dictionary&); |
+ |
+ void didFinishRequest(MIDIAccess*); |
+ void didFailRequest(MIDIAccess*, PassRefPtr<DOMError>); |
private: |
+ void clearPending(); |
NavigatorWebMIDI(Frame*); |
static const char* supplementName(); |
+ HashMap<RefPtr<MIDIAccess>, RefPtr<ScriptPromiseResolver> > m_pending; |
+ OwnPtr<DOMRequestState> m_requestState; |
}; |
} // namespace WebCore |