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

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

Issue 2385533002: Replace usage of GURL(origin.Serialize()) with origin.GetURL() (Closed)
Patch Set: sync to #424762 Created 4 years, 2 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 unified diff | Download patch
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_manager.h" 5 #include "content/browser/renderer_host/media/media_stream_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 device_info.device.name.clear(); 161 device_info.device.name.clear();
162 } 162 }
163 163
164 bool CalledOnIOThread() { 164 bool CalledOnIOThread() {
165 // Check if this function call is on the IO thread, except for unittests where 165 // Check if this function call is on the IO thread, except for unittests where
166 // an IO thread might not have been created. 166 // an IO thread might not have been created.
167 return BrowserThread::CurrentlyOn(BrowserThread::IO) || 167 return BrowserThread::CurrentlyOn(BrowserThread::IO) ||
168 !BrowserThread::IsMessageLoopValid(BrowserThread::IO); 168 !BrowserThread::IsMessageLoopValid(BrowserThread::IO);
169 } 169 }
170 170
171 GURL ConvertToGURL(const url::Origin& origin) {
172 return origin.unique() ? GURL() : GURL(origin.Serialize());
173 }
174
175 bool GetDeviceIDFromHMAC(const std::string& salt, 171 bool GetDeviceIDFromHMAC(const std::string& salt,
176 const url::Origin& security_origin, 172 const url::Origin& security_origin,
177 const std::string& hmac_device_id, 173 const std::string& hmac_device_id,
178 const MediaDeviceInfoArray& devices, 174 const MediaDeviceInfoArray& devices,
179 std::string* device_id) { 175 std::string* device_id) {
180 // The source_id can be empty if the constraint is set but empty. 176 // The source_id can be empty if the constraint is set but empty.
181 if (hmac_device_id.empty()) 177 if (hmac_device_id.empty())
182 return false; 178 return false;
183 179
184 for (const auto& device_info : devices) { 180 for (const auto& device_info : devices) {
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 296
301 // Creates a MediaStreamRequest object that is used by this request when UI 297 // Creates a MediaStreamRequest object that is used by this request when UI
302 // is asked for permission and device selection. 298 // is asked for permission and device selection.
303 void CreateUIRequest(const std::string& requested_audio_device_id, 299 void CreateUIRequest(const std::string& requested_audio_device_id,
304 const std::string& requested_video_device_id) { 300 const std::string& requested_video_device_id) {
305 DCHECK(!ui_request_); 301 DCHECK(!ui_request_);
306 target_process_id_ = requesting_process_id; 302 target_process_id_ = requesting_process_id;
307 target_frame_id_ = requesting_frame_id; 303 target_frame_id_ = requesting_frame_id;
308 ui_request_.reset(new MediaStreamRequest( 304 ui_request_.reset(new MediaStreamRequest(
309 requesting_process_id, requesting_frame_id, page_request_id, 305 requesting_process_id, requesting_frame_id, page_request_id,
310 ConvertToGURL(security_origin), user_gesture, request_type, 306 security_origin.GetURL(), user_gesture, request_type,
311 requested_audio_device_id, requested_video_device_id, audio_type_, 307 requested_audio_device_id, requested_video_device_id, audio_type_,
312 video_type_)); 308 video_type_));
313 } 309 }
314 310
315 // Creates a tab capture specific MediaStreamRequest object that is used by 311 // Creates a tab capture specific MediaStreamRequest object that is used by
316 // this request when UI is asked for permission and device selection. 312 // this request when UI is asked for permission and device selection.
317 void CreateTabCaptureUIRequest(int target_render_process_id, 313 void CreateTabCaptureUIRequest(int target_render_process_id,
318 int target_render_frame_id) { 314 int target_render_frame_id) {
319 DCHECK(!ui_request_); 315 DCHECK(!ui_request_);
320 target_process_id_ = target_render_process_id; 316 target_process_id_ = target_render_process_id;
321 target_frame_id_ = target_render_frame_id; 317 target_frame_id_ = target_render_frame_id;
322 ui_request_.reset(new MediaStreamRequest( 318 ui_request_.reset(new MediaStreamRequest(
323 target_render_process_id, target_render_frame_id, page_request_id, 319 target_render_process_id, target_render_frame_id, page_request_id,
324 ConvertToGURL(security_origin), user_gesture, request_type, "", "", 320 security_origin.GetURL(), user_gesture, request_type, "", "",
325 audio_type_, video_type_)); 321 audio_type_, video_type_));
326 } 322 }
327 323
328 bool HasUIRequest() const { return ui_request_.get() != nullptr; } 324 bool HasUIRequest() const { return ui_request_.get() != nullptr; }
329 std::unique_ptr<MediaStreamRequest> DetachUIRequest() { 325 std::unique_ptr<MediaStreamRequest> DetachUIRequest() {
330 return std::move(ui_request_); 326 return std::move(ui_request_);
331 } 327 }
332 328
333 // Update the request state and notify observers. 329 // Update the request state and notify observers.
334 void SetState(MediaStreamType stream_type, MediaRequestState new_state) { 330 void SetState(MediaStreamType stream_type, MediaRequestState new_state) {
335 if (stream_type == NUM_MEDIA_TYPES) { 331 if (stream_type == NUM_MEDIA_TYPES) {
336 for (int i = MEDIA_NO_SERVICE + 1; i < NUM_MEDIA_TYPES; ++i) { 332 for (int i = MEDIA_NO_SERVICE + 1; i < NUM_MEDIA_TYPES; ++i) {
337 const MediaStreamType stream_type = static_cast<MediaStreamType>(i); 333 const MediaStreamType stream_type = static_cast<MediaStreamType>(i);
338 state_[stream_type] = new_state; 334 state_[stream_type] = new_state;
339 } 335 }
340 } else { 336 } else {
341 state_[stream_type] = new_state; 337 state_[stream_type] = new_state;
342 } 338 }
343 339
344 MediaObserver* media_observer = 340 MediaObserver* media_observer =
345 GetContentClient()->browser()->GetMediaObserver(); 341 GetContentClient()->browser()->GetMediaObserver();
346 if (!media_observer) 342 if (!media_observer)
347 return; 343 return;
348 344
349 media_observer->OnMediaRequestStateChanged( 345 media_observer->OnMediaRequestStateChanged(
350 target_process_id_, target_frame_id_, page_request_id, 346 target_process_id_, target_frame_id_, page_request_id,
351 ConvertToGURL(security_origin), stream_type, new_state); 347 security_origin.GetURL(), stream_type, new_state);
352 } 348 }
353 349
354 MediaRequestState state(MediaStreamType stream_type) const { 350 MediaRequestState state(MediaStreamType stream_type) const {
355 return state_[stream_type]; 351 return state_[stream_type];
356 } 352 }
357 353
358 void SetCapturingLinkSecured(bool is_secure) { 354 void SetCapturingLinkSecured(bool is_secure) {
359 MediaObserver* media_observer = 355 MediaObserver* media_observer =
360 GetContentClient()->browser()->GetMediaObserver(); 356 GetContentClient()->browser()->GetMediaObserver();
361 if (!media_observer) 357 if (!media_observer)
(...skipping 1595 matching lines...) Expand 10 before | Expand all | Expand 10 after
1957 DCHECK(!raw_unique_id.empty()); 1953 DCHECK(!raw_unique_id.empty());
1958 std::string guid_from_raw_device_id = 1954 std::string guid_from_raw_device_id =
1959 GetHMACForMediaDeviceID(salt, security_origin, raw_unique_id); 1955 GetHMACForMediaDeviceID(salt, security_origin, raw_unique_id);
1960 return guid_from_raw_device_id == device_guid; 1956 return guid_from_raw_device_id == device_guid;
1961 } 1957 }
1962 1958
1963 // static 1959 // static
1964 bool MediaStreamManager::IsOriginAllowed(int render_process_id, 1960 bool MediaStreamManager::IsOriginAllowed(int render_process_id,
1965 const url::Origin& origin) { 1961 const url::Origin& origin) {
1966 if (!ChildProcessSecurityPolicyImpl::GetInstance()->CanRequestURL( 1962 if (!ChildProcessSecurityPolicyImpl::GetInstance()->CanRequestURL(
1967 render_process_id, ConvertToGURL(origin))) { 1963 render_process_id, origin.GetURL())) {
1968 LOG(ERROR) << "MSM: Renderer requested a URL it's not allowed to use."; 1964 LOG(ERROR) << "MSM: Renderer requested a URL it's not allowed to use.";
1969 return false; 1965 return false;
1970 } 1966 }
1971 1967
1972 return true; 1968 return true;
1973 } 1969 }
1974 1970
1975 void MediaStreamManager::SetCapturingLinkSecured(int render_process_id, 1971 void MediaStreamManager::SetCapturingLinkSecured(int render_process_id,
1976 int session_id, 1972 int session_id,
1977 content::MediaStreamType type, 1973 content::MediaStreamType type,
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2029 request->state(stream_type) == MEDIA_REQUEST_STATE_REQUESTED && 2025 request->state(stream_type) == MEDIA_REQUEST_STATE_REQUESTED &&
2030 (request->audio_type() == stream_type || 2026 (request->audio_type() == stream_type ||
2031 request->video_type() == stream_type)) { 2027 request->video_type() == stream_type)) {
2032 ProcessEnumerationRequest(labeled_request.first, request, stream_type, 2028 ProcessEnumerationRequest(labeled_request.first, request, stream_type,
2033 device_infos); 2029 device_infos);
2034 } 2030 }
2035 } 2031 }
2036 } 2032 }
2037 2033
2038 } // namespace content 2034 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/database_message_filter.cc ('k') | content/browser/renderer_host/media/media_stream_ui_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698