Index: third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp |
diff --git a/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp b/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp |
index 056c57c1d3711be2b076991ebc8055ae2dbe1e54..e32aaea55a3dc61cac4c0005f3f91470e507c9c8 100644 |
--- a/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp |
+++ b/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp |
@@ -46,27 +46,16 @@ ScriptPromise MIDIAccessInitializer::start() |
document->frame()->serviceRegistry()->connectToRemoteService(mojo::GetProxy(&m_permissionService)); |
bool requestSysEx = m_options.hasSysex() && m_options.sysex(); |
- if (requestSysEx) { |
- Vector<mojom::blink::PermissionName> permissions; |
- permissions.resize(2); |
- permissions.append(mojom::blink::PermissionName::MIDI); |
+ Vector<mojom::blink::PermissionName> permissions; |
+ permissions.resize(requestSysEx ? 2 : 1); |
+ permissions.append(mojom::blink::PermissionName::MIDI); |
+ if (requestSysEx) |
permissions.append(mojom::blink::PermissionName::MIDI_SYSEX); |
- m_permissionService->RequestPermissions( |
- mojo::WTFArray<mojom::blink::PermissionName>(std::move(permissions)), |
- getExecutionContext()->getSecurityOrigin()->toString(), |
- UserGestureIndicator::processingUserGesture(), |
- createBaseCallback(WTF::bind(&MIDIAccessInitializer::onPermissionsUpdated, wrapPersistent(this)))); |
- } else { |
- // TODO(toyoshim): Merge this MIDI only code path to the other one for |
- // MIDI and MIDI_SYSEX. This is a workaround to pass |
- // org.chromium.android_webview.test.AwPermissionManagerTest#testRequestMultiple |
- // because of RequestPermissions not implemented in AndroidWebView. |
- m_permissionService->RequestPermission( |
- mojom::blink::PermissionName::MIDI, |
- getExecutionContext()->getSecurityOrigin()->toString(), |
- UserGestureIndicator::processingUserGesture(), |
- createBaseCallback(WTF::bind(&MIDIAccessInitializer::onPermissionUpdated, wrapPersistent(this)))); |
- } |
+ m_permissionService->RequestPermissions( |
+ mojo::WTFArray<mojom::blink::PermissionName>(std::move(permissions)), |
+ getExecutionContext()->getSecurityOrigin()->toString(), |
+ UserGestureIndicator::processingUserGesture(), |
+ createBaseCallback(WTF::bind(&MIDIAccessInitializer::onPermissionsUpdated, wrapPersistent(this)))); |
return promise; |
} |
@@ -146,13 +135,4 @@ void MIDIAccessInitializer::onPermissionsUpdated(mojo::WTFArray<mojom::blink::Pe |
} |
-void MIDIAccessInitializer::onPermissionUpdated(mojom::blink::PermissionStatus status) |
-{ |
- m_permissionService.reset(); |
- if (status == mojom::blink::PermissionStatus::GRANTED) |
- m_accessor->startSession(); |
- else |
- reject(DOMException::create(SecurityError)); |
-} |
- |
} // namespace blink |