| Index: Source/modules/webmidi/MIDIAccess.h
|
| diff --git a/Source/modules/webmidi/MIDIAccess.h b/Source/modules/webmidi/MIDIAccess.h
|
| index 9e02f95f8c57f0f554134b6a391cb17aa4529178..83427daf232399dad183b6b17f9f8f5ebdeb8a88 100644
|
| --- a/Source/modules/webmidi/MIDIAccess.h
|
| +++ b/Source/modules/webmidi/MIDIAccess.h
|
| @@ -31,6 +31,9 @@
|
| #ifndef MIDIAccess_h
|
| #define MIDIAccess_h
|
|
|
| +#include "bindings/v8/DOMWrapperWorld.h"
|
| +#include "bindings/v8/ScriptPromise.h"
|
| +#include "bindings/v8/ScriptPromiseResolver.h"
|
| #include "bindings/v8/ScriptWrappable.h"
|
| #include "core/dom/ActiveDOMObject.h"
|
| #include "core/events/EventTarget.h"
|
| @@ -38,6 +41,7 @@
|
| #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 "wtf/RefCounted.h"
|
| #include "wtf/RefPtr.h"
|
| @@ -46,14 +50,13 @@
|
| namespace WebCore {
|
|
|
| class ExecutionContext;
|
| -class MIDIAccessPromise;
|
|
|
| class MIDIAccess FINAL : public RefCountedWillBeRefCountedGarbageCollected<MIDIAccess>, public ScriptWrappable, public ActiveDOMObject, public EventTargetWithInlineData, public MIDIAccessorClient {
|
| DECLARE_GC_INFO;
|
| DEFINE_EVENT_TARGET_REFCOUNTING(RefCountedWillBeRefCountedGarbageCollected<MIDIAccess>);
|
| public:
|
| virtual ~MIDIAccess();
|
| - static PassRefPtrWillBeRawPtr<MIDIAccess> create(ExecutionContext*, MIDIAccessPromise*);
|
| + static PassRefPtrWillBeRawPtr<MIDIAccess> create(const MIDIOptions&, ExecutionContext*);
|
|
|
| MIDIInputVector inputs() const { return m_inputs; }
|
| MIDIOutputVector outputs() const { return m_outputs; }
|
| @@ -81,18 +84,25 @@ public:
|
| void sendMIDIData(unsigned portIndex, const unsigned char* data, size_t length, double timeStampInMilliseconds);
|
|
|
| void trace(Visitor*);
|
| + ScriptPromise startRequest();
|
|
|
| private:
|
| - MIDIAccess(ExecutionContext*, MIDIAccessPromise*);
|
| + MIDIAccess(const MIDIOptions&, ExecutionContext*);
|
|
|
| - void startRequest();
|
| void permissionDenied();
|
|
|
| + // This method can delete |this| object.
|
| + void resolve();
|
| + // This method can delete |this| object.
|
| + void reject(PassRefPtr<DOMError>);
|
| +
|
| MIDIInputVector m_inputs;
|
| MIDIOutputVector m_outputs;
|
| - RawPtrWillBeMember<MIDIAccessPromise> m_promise;
|
|
|
| OwnPtr<MIDIAccessor> m_accessor;
|
| + RefPtr<DOMWrapperWorld> m_world;
|
| + RefPtr<ScriptPromiseResolver> m_resolver;
|
| + MIDIOptions m_options;
|
| bool m_hasAccess;
|
| bool m_sysExEnabled;
|
| bool m_requesting;
|
|
|