1a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// found in the LICENSE file. 4a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 5f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include "chrome/browser/media/midi_permission_context.h" 6a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 7a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "chrome/browser/content_settings/tab_specific_content_settings.h" 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "components/content_settings/core/common/permission_request_id.h" 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "url/gurl.h" 10a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 11f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)MidiPermissionContext::MidiPermissionContext(Profile* profile) 12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch : PermissionContextBase(profile, CONTENT_SETTINGS_TYPE_MIDI_SYSEX) { 13a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)} 14a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)MidiPermissionContext::~MidiPermissionContext() { 16a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)} 17a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 18a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) 19116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid MidiPermissionContext::UpdateTabContext(const PermissionRequestID& id, 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const GURL& requesting_frame, 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch bool allowed) { 22a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) TabSpecificContentSettings* content_settings = 23a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) TabSpecificContentSettings::Get(id.render_process_id(), 24a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) id.render_view_id()); 25a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) if (content_settings) { 26a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) if (allowed) 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) content_settings->OnMidiSysExAccessed(requesting_frame); 28a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) else 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) content_settings->OnMidiSysExAccessBlocked(requesting_frame); 30a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles) } 311e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} 32