Chromium Code Reviews| Index: Source/modules/webmidi/MIDIAccessInitializer.cpp |
| diff --git a/Source/modules/webmidi/MIDIAccessInitializer.cpp b/Source/modules/webmidi/MIDIAccessInitializer.cpp |
| index 7316d0288bbbc6b4b1244c559a42b57555feb5ca..cf6d6b50d8f5a7cc3492f4129b83b83929db8100 100644 |
| --- a/Source/modules/webmidi/MIDIAccessInitializer.cpp |
| +++ b/Source/modules/webmidi/MIDIAccessInitializer.cpp |
| @@ -17,11 +17,12 @@ |
| namespace blink { |
| -MIDIAccessInitializer::MIDIAccessInitializer(ScriptState* scriptState, const MIDIOptions& options) |
| +MIDIAccessInitializer::MIDIAccessInitializer(ScriptState* scriptState, const MIDIOptions* options) |
|
tkent
2014/09/10 23:44:05
It seems we still assume |options| is non-null. C
bashi
2014/09/12 00:19:13
IDL dictionaries are garbage collected. We need to
tkent
2014/09/12 00:20:53
It should be safe.
|
| : ScriptPromiseResolver(scriptState) |
| - , m_options(options) |
| - , m_sysexEnabled(false) |
| + , m_requestSysex(false) |
| { |
| + if (options->hasSysex()) |
| + m_requestSysex = options->sysex(); |
| } |
| MIDIAccessInitializer::~MIDIAccessInitializer() |
| @@ -39,7 +40,7 @@ ScriptPromise MIDIAccessInitializer::start() |
| ScriptPromise promise = this->promise(); |
| m_accessor = MIDIAccessor::create(this); |
| - if (!m_options.sysex) { |
| + if (!m_requestSysex) { |
| m_accessor->startSession(); |
| return promise; |
| } |
| @@ -70,16 +71,15 @@ void MIDIAccessInitializer::didStartSession(bool success, const String& error, c |
| { |
| ASSERT(m_accessor); |
| if (success) { |
| - resolve(MIDIAccess::create(m_accessor.release(), m_sysexEnabled, m_portDescriptors, executionContext())); |
| + resolve(MIDIAccess::create(m_accessor.release(), m_requestSysex, m_portDescriptors, executionContext())); |
| } else { |
| reject(DOMError::create(error, message)); |
| } |
| } |
| -void MIDIAccessInitializer::setSysexEnabled(bool enable) |
| +void MIDIAccessInitializer::resolveSysexPermission(bool allowed) |
| { |
| - m_sysexEnabled = enable; |
| - if (enable) |
| + if (allowed) |
| m_accessor->startSession(); |
| else |
| reject(DOMError::create("SecurityError")); |