Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(606)

Side by Side Diff: Source/modules/webmidi/MIDIAccessInitializer.h

Issue 547383004: WebMIDI: Add MIDIOptions dictionary (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add assertion Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/modules/webmidi/MIDIAccess.cpp ('k') | Source/modules/webmidi/MIDIAccessInitializer.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MIDIAccessInitializer_h 5 #ifndef MIDIAccessInitializer_h
6 #define MIDIAccessInitializer_h 6 #define MIDIAccessInitializer_h
7 7
8 #include "bindings/core/v8/ScriptPromise.h" 8 #include "bindings/core/v8/ScriptPromise.h"
9 #include "bindings/core/v8/ScriptPromiseResolver.h" 9 #include "bindings/core/v8/ScriptPromiseResolver.h"
10 #include "modules/webmidi/MIDIAccessor.h" 10 #include "modules/webmidi/MIDIAccessor.h"
11 #include "modules/webmidi/MIDIAccessorClient.h" 11 #include "modules/webmidi/MIDIAccessorClient.h"
12 #include "modules/webmidi/MIDIOptions.h"
13 #include "modules/webmidi/MIDIPort.h" 12 #include "modules/webmidi/MIDIPort.h"
14 #include "wtf/OwnPtr.h" 13 #include "wtf/OwnPtr.h"
15 #include "wtf/Vector.h" 14 #include "wtf/Vector.h"
16 15
17 namespace blink { 16 namespace blink {
18 17
19 class MIDIAccess; 18 class MIDIAccess;
19 class MIDIOptions;
20 class Navigator; 20 class Navigator;
21 class ScriptState; 21 class ScriptState;
22 22
23 class MIDIAccessInitializer : public ScriptPromiseResolver, public MIDIAccessorC lient { 23 class MIDIAccessInitializer : public ScriptPromiseResolver, public MIDIAccessorC lient {
24 public: 24 public:
25 struct PortDescriptor { 25 struct PortDescriptor {
26 String id; 26 String id;
27 String manufacturer; 27 String manufacturer;
28 String name; 28 String name;
29 MIDIPort::MIDIPortTypeCode type; 29 MIDIPort::MIDIPortTypeCode type;
30 String version; 30 String version;
31 31
32 PortDescriptor(const String& id, const String& manufacturer, const Strin g& name, MIDIPort::MIDIPortTypeCode type, const String& version) 32 PortDescriptor(const String& id, const String& manufacturer, const Strin g& name, MIDIPort::MIDIPortTypeCode type, const String& version)
33 : id(id) 33 : id(id)
34 , manufacturer(manufacturer) 34 , manufacturer(manufacturer)
35 , name(name) 35 , name(name)
36 , type(type) 36 , type(type)
37 , version(version) { } 37 , version(version) { }
38 }; 38 };
39 39
40 static ScriptPromise start(ScriptState* scriptState, const MIDIOptions& opti ons) 40 static ScriptPromise start(ScriptState* scriptState, const MIDIOptions* opti ons)
41 { 41 {
42 RefPtr<MIDIAccessInitializer> p = adoptRef(new MIDIAccessInitializer(scr iptState, options)); 42 RefPtr<MIDIAccessInitializer> p = adoptRef(new MIDIAccessInitializer(scr iptState, options));
43 p->keepAliveWhilePending(); 43 p->keepAliveWhilePending();
44 p->suspendIfNeeded(); 44 p->suspendIfNeeded();
45 return p->start(); 45 return p->start();
46 } 46 }
47 47
48 virtual ~MIDIAccessInitializer(); 48 virtual ~MIDIAccessInitializer();
49 49
50 // MIDIAccessorClient 50 // MIDIAccessorClient
51 virtual void didAddInputPort(const String& id, const String& manufacturer, c onst String& name, const String& version) OVERRIDE; 51 virtual void didAddInputPort(const String& id, const String& manufacturer, c onst String& name, const String& version) OVERRIDE;
52 virtual void didAddOutputPort(const String& id, const String& manufacturer, const String& name, const String& version) OVERRIDE; 52 virtual void didAddOutputPort(const String& id, const String& manufacturer, const String& name, const String& version) OVERRIDE;
53 virtual void didStartSession(bool success, const String& error, const String & message) OVERRIDE; 53 virtual void didStartSession(bool success, const String& error, const String & message) OVERRIDE;
54 virtual void didReceiveMIDIData(unsigned portIndex, const unsigned char* dat a, size_t length, double timeStamp) OVERRIDE { } 54 virtual void didReceiveMIDIData(unsigned portIndex, const unsigned char* dat a, size_t length, double timeStamp) OVERRIDE { }
55 55
56 void setSysexEnabled(bool value); 56 void resolveSysexPermission(bool allowed);
57 SecurityOrigin* securityOrigin() const; 57 SecurityOrigin* securityOrigin() const;
58 58
59 private: 59 private:
60 ScriptPromise start(); 60 ScriptPromise start();
61 61
62 MIDIAccessInitializer(ScriptState*, const MIDIOptions&); 62 MIDIAccessInitializer(ScriptState*, const MIDIOptions*);
63 63
64 ExecutionContext* executionContext() const; 64 ExecutionContext* executionContext() const;
65 65
66 OwnPtr<MIDIAccessor> m_accessor; 66 OwnPtr<MIDIAccessor> m_accessor;
67 MIDIOptions m_options; 67 bool m_requestSysex;
68 bool m_sysexEnabled;
69 Vector<PortDescriptor> m_portDescriptors; 68 Vector<PortDescriptor> m_portDescriptors;
70 }; 69 };
71 70
72 } // namespace blink 71 } // namespace blink
73 72
74 73
75 #endif // MIDIAccessInitializer_h 74 #endif // MIDIAccessInitializer_h
OLDNEW
« no previous file with comments | « Source/modules/webmidi/MIDIAccess.cpp ('k') | Source/modules/webmidi/MIDIAccessInitializer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698