Index: content/renderer/media/midi_dispatcher.cc |
diff --git a/content/renderer/media/midi_dispatcher.cc b/content/renderer/media/midi_dispatcher.cc |
index 309b93c6b77c99f505eb021cad8d13deb91b4e64..004b18880a1ab273d6e128ce5c9011041ca54c72 100644 |
--- a/content/renderer/media/midi_dispatcher.cc |
+++ b/content/renderer/media/midi_dispatcher.cc |
@@ -10,9 +10,11 @@ |
#include "third_party/WebKit/public/platform/WebString.h" |
#include "third_party/WebKit/public/web/WebSecurityOrigin.h" |
#include "third_party/WebKit/public/web/WebUserGestureIndicator.h" |
+#include "third_party/WebKit/public/web/modules/webmidi/WebMIDIOptions.h" |
#include "third_party/WebKit/public/web/modules/webmidi/WebMIDIPermissionRequest.h" |
using blink::WebMIDIPermissionRequest; |
+using blink::WebMIDIOptions; |
using blink::WebSecurityOrigin; |
namespace content { |
@@ -23,8 +25,11 @@ MidiDispatcher::MidiDispatcher(RenderFrame* render_frame) |
MidiDispatcher::~MidiDispatcher() {} |
-void MidiDispatcher::requestSysexPermission( |
- const WebMIDIPermissionRequest& request) { |
+void MidiDispatcher::requestPermission(const WebMIDIPermissionRequest& request, |
+ const WebMIDIOptions& options) { |
+ if (options.sysex == WebMIDIOptions::SysexPermission::WithoutSysex) |
+ return WebMIDIPermissionRequest(request).setIsAllowed(true); |
+ |
if (!permission_service_.get()) { |
render_frame()->GetServiceRegistry()->ConnectToRemoteService( |
mojo::GetProxy(&permission_service_)); |
@@ -36,11 +41,11 @@ void MidiDispatcher::requestSysexPermission( |
permission_service_->RequestPermission( |
PermissionName::MIDI_SYSEX, request.securityOrigin().toString().utf8(), |
blink::WebUserGestureIndicator::isProcessingUserGesture(), |
- base::Bind(&MidiDispatcher::OnSysExPermissionSet, base::Unretained(this), |
+ base::Bind(&MidiDispatcher::OnPermissionSet, base::Unretained(this), |
permission_request_id)); |
} |
-void MidiDispatcher::cancelSysexPermissionRequest( |
+void MidiDispatcher::cancelPermissionRequest( |
const WebMIDIPermissionRequest& request) { |
for (Requests::iterator it(&requests_); !it.IsAtEnd(); it.Advance()) { |
WebMIDIPermissionRequest* value = it.GetCurrentValue(); |
@@ -51,8 +56,7 @@ void MidiDispatcher::cancelSysexPermissionRequest( |
} |
} |
-void MidiDispatcher::OnSysExPermissionSet(int request_id, |
- PermissionStatus status) { |
+void MidiDispatcher::OnPermissionSet(int request_id, PermissionStatus status) { |
// |request| can be NULL when the request is canceled. |
WebMIDIPermissionRequest* request = requests_.Lookup(request_id); |
if (!request) |