| Index: Source/modules/webmidi/MIDIAccess.h
|
| diff --git a/Source/modules/webmidi/MIDIAccess.h b/Source/modules/webmidi/MIDIAccess.h
|
| index 8c65ceab865ec5919f1406f53abf4d4734192bab..215480e91c8ed5d1684ac75aca73534910ce9900 100644
|
| --- a/Source/modules/webmidi/MIDIAccess.h
|
| +++ b/Source/modules/webmidi/MIDIAccess.h
|
| @@ -32,14 +32,12 @@
|
| #define MIDIAccess_h
|
|
|
| #include "bindings/v8/ScriptPromise.h"
|
| -#include "bindings/v8/ScriptPromiseResolverWithContext.h"
|
| #include "bindings/v8/ScriptWrappable.h"
|
| #include "core/dom/ActiveDOMObject.h"
|
| #include "modules/EventTargetModules.h"
|
| #include "modules/webmidi/MIDIAccessor.h"
|
| #include "modules/webmidi/MIDIAccessorClient.h"
|
| #include "modules/webmidi/MIDIInput.h"
|
| -#include "modules/webmidi/MIDIOptions.h"
|
| #include "modules/webmidi/MIDIOutput.h"
|
| #include "platform/AsyncMethodRunner.h"
|
| #include "platform/heap/Handle.h"
|
| @@ -50,6 +48,8 @@
|
| namespace WebCore {
|
|
|
| class ExecutionContext;
|
| +class MIDIAccessInitializer;
|
| +struct MIDIOptions;
|
|
|
| class MIDIAccess FINAL : public RefCountedWillBeRefCountedGarbageCollected<MIDIAccess>, public ScriptWrappable, public ActiveDOMObject, public EventTargetWithInlineData, public MIDIAccessorClient {
|
| REFCOUNTED_EVENT_TARGET(MIDIAccess);
|
| @@ -65,7 +65,6 @@ public:
|
| DEFINE_ATTRIBUTE_EVENT_LISTENER(connect);
|
| DEFINE_ATTRIBUTE_EVENT_LISTENER(disconnect);
|
|
|
| - void setSysexEnabled(bool);
|
| bool sysexEnabled() const { return m_sysexEnabled; }
|
|
|
| // EventTarget
|
| @@ -79,38 +78,32 @@ public:
|
| // MIDIAccessorClient
|
| virtual void didAddInputPort(const String& id, const String& manufacturer, const String& name, const String& version) OVERRIDE;
|
| virtual void didAddOutputPort(const String& id, const String& manufacturer, const String& name, const String& version) OVERRIDE;
|
| - virtual void didStartSession(bool success, const String& error, const String& message) OVERRIDE;
|
| + virtual void didStartSession(bool success, const String& error, const String& message) OVERRIDE
|
| + {
|
| + // This method is for MIDIAccess initialization: MIDIAccessInitializer
|
| + // has the implementation.
|
| + ASSERT_NOT_REACHED();
|
| + }
|
| virtual void didReceiveMIDIData(unsigned portIndex, const unsigned char* data, size_t length, double timeStamp) OVERRIDE;
|
|
|
| // |timeStampInMilliseconds| is in the same time coordinate system as performance.now().
|
| void sendMIDIData(unsigned portIndex, const unsigned char* data, size_t length, double timeStampInMilliseconds);
|
|
|
| + // Initialize this object before exposing it to JavaScript.
|
| + void initialize(PassOwnPtr<MIDIAccessor>, bool sysexEnabled);
|
| +
|
| virtual void trace(Visitor*) OVERRIDE;
|
|
|
| private:
|
| - class PostAction;
|
| - enum State {
|
| - Requesting,
|
| - Resolved,
|
| - Stopped,
|
| - };
|
| -
|
| MIDIAccess(const MIDIOptions&, ExecutionContext*);
|
| - ScriptPromise startRequest(ScriptState*);
|
| -
|
| - void permissionDenied();
|
|
|
| - // Called when the promise is resolved or rejected.
|
| - void doPostAction(State);
|
| -
|
| - State m_state;
|
| - WeakPtrFactory<MIDIAccess> m_weakPtrFactory;
|
| MIDIInputVector m_inputs;
|
| MIDIOutputVector m_outputs;
|
| OwnPtr<MIDIAccessor> m_accessor;
|
| - MIDIOptions m_options;
|
| bool m_sysexEnabled;
|
| - RefPtr<ScriptPromiseResolverWithContext> m_resolver;
|
| +
|
| + // FIXME: Stop owning initializer in this class.
|
| + OwnPtr<MIDIAccessInitializer> m_initializer;
|
| };
|
|
|
| } // namespace WebCore
|
|
|