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

Unified Diff: content/renderer/media/midi_dispatcher.cc

Issue 1602703005: Web MIDI: Ask permissions of the content layer always (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: revert layout_test_message_filter.cc that should be in the next CL Created 4 years, 11 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 side-by-side diff with in-line comments
Download patch
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)
« no previous file with comments | « content/renderer/media/midi_dispatcher.h ('k') | third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698