Index: Source/modules/webmidi/NavigatorWebMIDI.h |
diff --git a/Source/modules/webmidi/NavigatorWebMIDI.h b/Source/modules/webmidi/NavigatorWebMIDI.h |
index 4e21441851ab20c93384535d67320658ac33f6c8..44337ff3825873b17dd938272f0cab7429aacaa1 100644 |
--- a/Source/modules/webmidi/NavigatorWebMIDI.h |
+++ b/Source/modules/webmidi/NavigatorWebMIDI.h |
@@ -33,26 +33,35 @@ |
#include "bindings/v8/ScriptPromise.h" |
#include "core/frame/DOMWindowProperty.h" |
+#include "modules/webmidi/MIDIAccessInitializer.h" |
#include "modules/webmidi/MIDIOptions.h" |
#include "platform/Supplementable.h" |
#include "platform/heap/Handle.h" |
+#include "wtf/HashSet.h" |
namespace WebCore { |
class Navigator; |
+class MIDIAccess; |
-class NavigatorWebMIDI FINAL : public NoBaseWillBeGarbageCollectedFinalized<NavigatorWebMIDI>, public WillBeHeapSupplement<Navigator>, public DOMWindowProperty { |
+class NavigatorWebMIDI FINAL : public NoBaseWillBeGarbageCollectedFinalized<NavigatorWebMIDI>, public WillBeHeapSupplement<Navigator>, public DOMWindowProperty, MIDIAccessInitializer::Client { |
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NavigatorWebMIDI); |
public: |
virtual ~NavigatorWebMIDI(); |
static NavigatorWebMIDI& from(Navigator&); |
static ScriptPromise requestMIDIAccess(ScriptState*, Navigator&, const Dictionary&); |
- ScriptPromise requestMIDIAccess(ScriptState*, const Dictionary&); |
+ |
+ // MIDIAccessInitializer::Client implementaion |
+ virtual void didFinishMIDIAccessInitialization(MIDIAccessInitializer*) OVERRIDE; |
+ virtual void didFailMIDIAccessInitialization(MIDIAccessInitializer*) OVERRIDE; |
virtual void trace(Visitor* visitor) OVERRIDE { WillBeHeapSupplement<Navigator>::trace(visitor); } |
private: |
+ ScriptPromise requestMIDIAccessInternal(ScriptState*, Navigator&, const Dictionary&); |
+ |
+ HashSet<OwnPtr<MIDIAccessInitializer> > m_initializers; |
NavigatorWebMIDI(LocalFrame*); |
static const char* supplementName(); |
}; |