OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/media/midi_dispatcher_host.h" | 5 #include "content/browser/media/midi_dispatcher_host.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "content/browser/child_process_security_policy_impl.h" | 8 #include "content/browser/child_process_security_policy_impl.h" |
9 #include "content/browser/frame_host/render_frame_host_impl.h" | 9 #include "content/browser/frame_host/render_frame_host_impl.h" |
10 #include "content/common/media/midi_messages.h" | 10 #include "content/common/media/midi_messages.h" |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 int bridge_id, | 71 int bridge_id, |
72 const GURL& origin, | 72 const GURL& origin, |
73 bool user_gesture) { | 73 bool user_gesture) { |
74 int render_process_id = render_frame_host->GetProcess()->GetID(); | 74 int render_process_id = render_frame_host->GetProcess()->GetID(); |
75 int render_frame_id = render_frame_host->GetRoutingID(); | 75 int render_frame_id = render_frame_host->GetRoutingID(); |
76 | 76 |
77 PendingPermission pending_permission( | 77 PendingPermission pending_permission( |
78 render_process_id, render_frame_id, bridge_id); | 78 render_process_id, render_frame_id, bridge_id); |
79 pending_permissions_.push_back(pending_permission); | 79 pending_permissions_.push_back(pending_permission); |
80 | 80 |
81 GetContentClient()->browser()->RequestMidiSysExPermission( | 81 GetContentClient()->browser()->RequestPermission( |
| 82 PERMISSION_MIDI_SYSEX, |
82 web_contents(), | 83 web_contents(), |
83 bridge_id, | 84 bridge_id, |
84 origin, | 85 origin, |
85 user_gesture, | 86 user_gesture, |
86 base::Bind(&MidiDispatcherHost::WasSysExPermissionGranted, | 87 base::Bind(&MidiDispatcherHost::WasSysExPermissionGranted, |
87 weak_factory_.GetWeakPtr(), | 88 weak_factory_.GetWeakPtr(), |
88 render_process_id, render_frame_id, bridge_id), | 89 render_process_id, |
89 &pending_permissions_.back().cancel); | 90 render_frame_id, |
| 91 bridge_id)); |
90 } | 92 } |
91 | 93 |
92 void MidiDispatcherHost::CancelPermissionRequestsForFrame( | 94 void MidiDispatcherHost::CancelPermissionRequestsForFrame( |
93 RenderFrameHost* render_frame_host) { | 95 RenderFrameHost* render_frame_host) { |
94 int render_process_id = render_frame_host->GetProcess()->GetID(); | 96 int render_process_id = render_frame_host->GetProcess()->GetID(); |
95 int render_frame_id = render_frame_host->GetRoutingID(); | 97 int render_frame_id = render_frame_host->GetRoutingID(); |
96 | 98 |
97 for (size_t i = 0; i < pending_permissions_.size(); ++i) { | 99 for (size_t i = 0; i < pending_permissions_.size(); ++i) { |
98 if (pending_permissions_[i].render_process_id == render_process_id && | 100 if (pending_permissions_[i].render_process_id == render_process_id && |
99 pending_permissions_[i].render_frame_id == render_frame_id) { | 101 pending_permissions_[i].render_frame_id == render_frame_id) { |
100 if (!pending_permissions_[i].cancel.is_null()) | 102 GetContentClient()->browser()->CancelPermissionRequest( |
101 pending_permissions_[i].cancel.Run(); | 103 PERMISSION_MIDI_SYSEX, |
| 104 web_contents(), |
| 105 pending_permissions_[i].bridge_id, |
| 106 render_frame_host->GetLastCommittedURL()); |
| 107 |
102 pending_permissions_.erase(pending_permissions_.begin() + i); | 108 pending_permissions_.erase(pending_permissions_.begin() + i); |
103 return; | 109 return; |
104 } | 110 } |
105 } | 111 } |
106 } | 112 } |
107 | 113 |
108 void MidiDispatcherHost::WasSysExPermissionGranted(int render_process_id, | 114 void MidiDispatcherHost::WasSysExPermissionGranted(int render_process_id, |
109 int render_frame_id, | 115 int render_frame_id, |
110 int bridge_id, | 116 int bridge_id, |
111 bool is_allowed) { | 117 bool is_allowed) { |
(...skipping 13 matching lines...) Expand all Loading... |
125 GrantSendMidiSysExMessage(render_process_id); | 131 GrantSendMidiSysExMessage(render_process_id); |
126 } | 132 } |
127 | 133 |
128 pending_permissions_.erase(pending_permissions_.begin() + i); | 134 pending_permissions_.erase(pending_permissions_.begin() + i); |
129 return; | 135 return; |
130 } | 136 } |
131 } | 137 } |
132 } | 138 } |
133 | 139 |
134 } // namespace content | 140 } // namespace content |
OLD | NEW |