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

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: split changes outside blink 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 40fca8472bec453b3211554cd592d05736df47d9..5f07e991a4a01b8d64f3478092cc5257bd938d14 100644
--- a/content/renderer/media/midi_dispatcher.cc
+++ b/content/renderer/media/midi_dispatcher.cc
@@ -13,6 +13,7 @@
#include "third_party/WebKit/public/web/WebUserGestureIndicator.h"
using blink::WebMIDIPermissionRequest;
+using blink::WebMIDIOptions;
using blink::WebSecurityOrigin;
namespace content {
@@ -23,8 +24,12 @@ MidiDispatcher::MidiDispatcher(RenderFrame* render_frame)
MidiDispatcher::~MidiDispatcher() {}
-void MidiDispatcher::requestSysexPermission(
- const WebMIDIPermissionRequest& request) {
+void MidiDispatcher::requestPermission(const WebMIDIPermissionRequest& request,
+ const WebMIDIOptions& options) {
+ // TODO(crbug.com/535181): Expose all requests to the content layer.
+ if (!options.sysex)
+ return WebMIDIPermissionRequest(request).setIsAllowed(true);
mlamouri (slow - plz ping) 2016/01/21 11:50:57 What about doing: PermissionName permission_name =
Takashi Toyoshima 2016/01/22 04:33:22 Thank you for jumping in! I thought I will need yo
Takashi Toyoshima 2016/01/22 07:30:01 Some additional notes for this: - PERMISSION_NAME
+
if (!permission_service_.get()) {
render_frame()->GetServiceRegistry()->ConnectToRemoteService(
mojo::GetProxy(&permission_service_));
@@ -34,15 +39,13 @@ void MidiDispatcher::requestSysexPermission(
requests_.Add(new WebMIDIPermissionRequest(request));
permission_service_->RequestPermission(
- PERMISSION_NAME_MIDI_SYSEX,
- request.securityOrigin().toString().utf8(),
+ PERMISSION_NAME_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();
@@ -53,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)

Powered by Google App Engine
This is Rietveld 408576698