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

Side by Side Diff: content/browser/renderer_host/media/media_stream_dispatcher_host.cc

Issue 54863002: Implement a salt for MediaSource IDs that can be cleared by a user. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/renderer_host/media/media_stream_dispatcher_host.h" 5 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h"
6 6
7 #include "content/browser/browser_main_loop.h" 7 #include "content/browser/browser_main_loop.h"
8 #include "content/browser/renderer_host/media/web_contents_capture_util.h" 8 #include "content/browser/renderer_host/media/web_contents_capture_util.h"
9 #include "content/common/media/media_stream_messages.h" 9 #include "content/common/media/media_stream_messages.h"
10 #include "content/common/media/media_stream_options.h" 10 #include "content/common/media/media_stream_options.h"
11 #include "url/gurl.h" 11 #include "url/gurl.h"
12 12
13 namespace content { 13 namespace content {
14 14
15 MediaStreamDispatcherHost::MediaStreamDispatcherHost( 15 MediaStreamDispatcherHost::MediaStreamDispatcherHost(
16 int render_process_id, 16 int render_process_id,
17 BrowserContext* browser_context,
Jói 2013/10/31 16:14:47 Why not simply take a ResourceContext? No need for
perkj_chrome 2013/10/31 17:05:44 Done.
17 MediaStreamManager* media_stream_manager) 18 MediaStreamManager* media_stream_manager)
18 : render_process_id_(render_process_id), 19 : render_process_id_(render_process_id),
20 resource_context_(browser_context->GetResourceContext()),
19 media_stream_manager_(media_stream_manager) { 21 media_stream_manager_(media_stream_manager) {
20 } 22 }
21 23
22 void MediaStreamDispatcherHost::StreamGenerated( 24 void MediaStreamDispatcherHost::StreamGenerated(
23 const std::string& label, 25 const std::string& label,
24 const StreamDeviceInfoArray& audio_devices, 26 const StreamDeviceInfoArray& audio_devices,
25 const StreamDeviceInfoArray& video_devices) { 27 const StreamDeviceInfoArray& video_devices) {
26 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 28 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
27 DVLOG(1) << "MediaStreamDispatcherHost::StreamGenerated(" 29 DVLOG(1) << "MediaStreamDispatcherHost::StreamGenerated("
28 << ", {label = " << label << "})"; 30 << ", {label = " << label << "})";
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 const GURL& security_origin) { 126 const GURL& security_origin) {
125 DVLOG(1) << "MediaStreamDispatcherHost::OnGenerateStream(" 127 DVLOG(1) << "MediaStreamDispatcherHost::OnGenerateStream("
126 << render_view_id << ", " 128 << render_view_id << ", "
127 << page_request_id << ", [" 129 << page_request_id << ", ["
128 << " audio:" << components.audio_type 130 << " audio:" << components.audio_type
129 << " video:" << components.video_type 131 << " video:" << components.video_type
130 << " ], " 132 << " ], "
131 << security_origin.spec() << ")"; 133 << security_origin.spec() << ")";
132 134
133 const std::string& label = media_stream_manager_->GenerateStream( 135 const std::string& label = media_stream_manager_->GenerateStream(
134 this, render_process_id_, render_view_id, page_request_id, 136 this, render_process_id_, render_view_id, resource_context_,
137 page_request_id,
135 components, security_origin); 138 components, security_origin);
136 CHECK(!label.empty()); 139 CHECK(!label.empty());
137 StoreRequest(render_view_id, page_request_id, label); 140 StoreRequest(render_view_id, page_request_id, label);
138 } 141 }
139 142
140 void MediaStreamDispatcherHost::OnCancelGenerateStream(int render_view_id, 143 void MediaStreamDispatcherHost::OnCancelGenerateStream(int render_view_id,
141 int page_request_id) { 144 int page_request_id) {
142 DVLOG(1) << "MediaStreamDispatcherHost::OnCancelGenerateStream(" 145 DVLOG(1) << "MediaStreamDispatcherHost::OnCancelGenerateStream("
143 << render_view_id << ", " 146 << render_view_id << ", "
144 << page_request_id << ")"; 147 << page_request_id << ")";
(...skipping 24 matching lines...) Expand all
169 int page_request_id, 172 int page_request_id,
170 MediaStreamType type, 173 MediaStreamType type,
171 const GURL& security_origin) { 174 const GURL& security_origin) {
172 DVLOG(1) << "MediaStreamDispatcherHost::OnEnumerateDevices(" 175 DVLOG(1) << "MediaStreamDispatcherHost::OnEnumerateDevices("
173 << render_view_id << ", " 176 << render_view_id << ", "
174 << page_request_id << ", " 177 << page_request_id << ", "
175 << type << ", " 178 << type << ", "
176 << security_origin.spec() << ")"; 179 << security_origin.spec() << ")";
177 180
178 const std::string& label = media_stream_manager_->EnumerateDevices( 181 const std::string& label = media_stream_manager_->EnumerateDevices(
179 this, render_process_id_, render_view_id, page_request_id, 182 this, render_process_id_, render_view_id, resource_context_,
180 type, security_origin); 183 page_request_id, type, security_origin);
181 StoreRequest(render_view_id, page_request_id, label); 184 StoreRequest(render_view_id, page_request_id, label);
182 } 185 }
183 186
184 void MediaStreamDispatcherHost::OnCancelEnumerateDevices( 187 void MediaStreamDispatcherHost::OnCancelEnumerateDevices(
185 int render_view_id, 188 int render_view_id,
186 const std::string& label) { 189 const std::string& label) {
187 DVLOG(1) << "MediaStreamDispatcherHost::OnCancelEnumerateDevices(" 190 DVLOG(1) << "MediaStreamDispatcherHost::OnCancelEnumerateDevices("
188 << render_view_id << ", " 191 << render_view_id << ", "
189 << label << ")"; 192 << label << ")";
190 193
191 media_stream_manager_->CancelRequest(label); 194 media_stream_manager_->CancelRequest(label);
192 PopRequest(label); 195 PopRequest(label);
193 } 196 }
194 197
195 void MediaStreamDispatcherHost::OnOpenDevice( 198 void MediaStreamDispatcherHost::OnOpenDevice(
196 int render_view_id, 199 int render_view_id,
197 int page_request_id, 200 int page_request_id,
198 const std::string& device_id, 201 const std::string& device_id,
199 MediaStreamType type, 202 MediaStreamType type,
200 const GURL& security_origin) { 203 const GURL& security_origin) {
201 DVLOG(1) << "MediaStreamDispatcherHost::OnOpenDevice(" 204 DVLOG(1) << "MediaStreamDispatcherHost::OnOpenDevice("
202 << render_view_id << ", " 205 << render_view_id << ", "
203 << page_request_id << ", device_id: " 206 << page_request_id << ", device_id: "
204 << device_id.c_str() << ", type: " 207 << device_id.c_str() << ", type: "
205 << type << ", " 208 << type << ", "
206 << security_origin.spec() << ")"; 209 << security_origin.spec() << ")";
207 210
208 const std::string& label = media_stream_manager_->OpenDevice( 211 const std::string& label = media_stream_manager_->OpenDevice(
209 this, render_process_id_, render_view_id, page_request_id, 212 this, render_process_id_, render_view_id, resource_context_,
210 device_id, type, security_origin); 213 page_request_id, device_id, type, security_origin);
211 StoreRequest(render_view_id, page_request_id, label); 214 StoreRequest(render_view_id, page_request_id, label);
212 } 215 }
213 216
214 void MediaStreamDispatcherHost::OnCloseDevice( 217 void MediaStreamDispatcherHost::OnCloseDevice(
215 int render_view_id, 218 int render_view_id,
216 const std::string& label) { 219 const std::string& label) {
217 DVLOG(1) << "MediaStreamDispatcherHost::OnCloseDevice(" 220 DVLOG(1) << "MediaStreamDispatcherHost::OnCloseDevice("
218 << render_view_id << ", " 221 << render_view_id << ", "
219 << label << ")"; 222 << label << ")";
220 223
(...skipping 12 matching lines...) Expand all
233 MediaStreamDispatcherHost::StreamRequest 236 MediaStreamDispatcherHost::StreamRequest
234 MediaStreamDispatcherHost::PopRequest(const std::string& label) { 237 MediaStreamDispatcherHost::PopRequest(const std::string& label) {
235 StreamMap::iterator it = streams_.find(label); 238 StreamMap::iterator it = streams_.find(label);
236 CHECK(it != streams_.end()); 239 CHECK(it != streams_.end());
237 StreamRequest request = it->second; 240 StreamRequest request = it->second;
238 streams_.erase(it); 241 streams_.erase(it);
239 return request; 242 return request;
240 } 243 }
241 244
242 } // namespace content 245 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698