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