| Index: content/browser/renderer_host/media/media_stream_manager.cc
|
| diff --git a/content/browser/renderer_host/media/media_stream_manager.cc b/content/browser/renderer_host/media/media_stream_manager.cc
|
| index fdb3b2c8c5e03c8b69578e4b5f072389d17ecc91..26aa2b60ffea6384f48776a68e2cc896dc0196a0 100644
|
| --- a/content/browser/renderer_host/media/media_stream_manager.cc
|
| +++ b/content/browser/renderer_host/media/media_stream_manager.cc
|
| @@ -145,6 +145,11 @@ std::string GetLogMessageString(MediaStreamType stream_type,
|
| return output_string;
|
| }
|
|
|
| +// Needed for MediaStreamManager::GenerateStream below.
|
| +std::string ReturnEmptySalt() {
|
| + return std::string();
|
| +}
|
| +
|
| } // namespace
|
|
|
|
|
| @@ -163,7 +168,7 @@ class MediaStreamManager::DeviceRequest {
|
| const GURL& security_origin,
|
| MediaStreamRequestType request_type,
|
| const StreamOptions& options,
|
| - ResourceContext* resource_context)
|
| + const ResourceContext::SaltCallback& salt_callback)
|
| : requester(requester),
|
| requesting_process_id(requesting_process_id),
|
| requesting_view_id(requesting_view_id),
|
| @@ -171,7 +176,7 @@ class MediaStreamManager::DeviceRequest {
|
| security_origin(security_origin),
|
| request_type(request_type),
|
| options(options),
|
| - resource_context(resource_context),
|
| + salt_callback(salt_callback),
|
| state_(NUM_MEDIA_TYPES, MEDIA_REQUEST_STATE_NOT_REQUESTED),
|
| audio_type_(MEDIA_NO_SERVICE),
|
| video_type_(MEDIA_NO_SERVICE) {
|
| @@ -291,7 +296,7 @@ class MediaStreamManager::DeviceRequest {
|
|
|
| const StreamOptions options;
|
|
|
| - ResourceContext* resource_context;
|
| + ResourceContext::SaltCallback salt_callback;
|
|
|
| StreamDeviceInfoArray devices;
|
|
|
| @@ -379,7 +384,7 @@ std::string MediaStreamManager::MakeMediaAccessRequest(
|
| security_origin,
|
| MEDIA_DEVICE_ACCESS,
|
| options,
|
| - NULL);
|
| + base::Bind(&ReturnEmptySalt));
|
|
|
| const std::string& label = AddRequest(request);
|
|
|
| @@ -399,7 +404,7 @@ std::string MediaStreamManager::MakeMediaAccessRequest(
|
| void MediaStreamManager::GenerateStream(MediaStreamRequester* requester,
|
| int render_process_id,
|
| int render_view_id,
|
| - ResourceContext* rc,
|
| + const ResourceContext::SaltCallback& sc,
|
| int page_request_id,
|
| const StreamOptions& options,
|
| const GURL& security_origin) {
|
| @@ -417,7 +422,7 @@ void MediaStreamManager::GenerateStream(MediaStreamRequester* requester,
|
| security_origin,
|
| MEDIA_GENERATE_STREAM,
|
| options,
|
| - rc);
|
| + sc);
|
|
|
| const std::string& label = AddRequest(request);
|
|
|
| @@ -593,7 +598,7 @@ std::string MediaStreamManager::EnumerateDevices(
|
| MediaStreamRequester* requester,
|
| int render_process_id,
|
| int render_view_id,
|
| - ResourceContext* rc,
|
| + const ResourceContext::SaltCallback& sc,
|
| int page_request_id,
|
| MediaStreamType type,
|
| const GURL& security_origin) {
|
| @@ -609,7 +614,7 @@ std::string MediaStreamManager::EnumerateDevices(
|
| security_origin,
|
| MEDIA_ENUMERATE_DEVICES,
|
| StreamOptions(),
|
| - rc);
|
| + sc);
|
| if (IsAudioMediaType(type))
|
| request->SetAudioType(type);
|
| else if (IsVideoMediaType(type))
|
| @@ -660,7 +665,7 @@ void MediaStreamManager::DoEnumerateDevices(const std::string& label) {
|
| void MediaStreamManager::OpenDevice(MediaStreamRequester* requester,
|
| int render_process_id,
|
| int render_view_id,
|
| - ResourceContext* rc,
|
| + const ResourceContext::SaltCallback& sc,
|
| int page_request_id,
|
| const std::string& device_id,
|
| MediaStreamType type,
|
| @@ -688,7 +693,7 @@ void MediaStreamManager::OpenDevice(MediaStreamRequester* requester,
|
| security_origin,
|
| MEDIA_OPEN_DEVICE,
|
| options,
|
| - rc);
|
| + sc);
|
|
|
| const std::string& label = AddRequest(request);
|
| // Post a task and handle the request asynchronously. The reason is that the
|
| @@ -716,8 +721,8 @@ void MediaStreamManager::StopRemovedDevices(
|
| for (StreamDeviceInfoArray::const_iterator old_dev_it = old_devices.begin();
|
| old_dev_it != old_devices.end(); ++old_dev_it) {
|
| bool device_found = false;
|
| - for (StreamDeviceInfoArray::const_iterator new_dev_it = new_devices.begin();
|
| - new_dev_it != new_devices.end(); ++new_dev_it) {
|
| + StreamDeviceInfoArray::const_iterator new_dev_it = new_devices.begin();
|
| + for (; new_dev_it != new_devices.end(); ++new_dev_it) {
|
| if (old_dev_it->device.id == new_dev_it->device.id) {
|
| device_found = true;
|
| break;
|
| @@ -741,7 +746,7 @@ void MediaStreamManager::StopRemovedDevice(const MediaStreamDevice& device) {
|
| request->devices.begin();
|
| device_it != request->devices.end(); ++device_it) {
|
| std::string source_id = content::GetHMACForMediaDeviceID(
|
| - request->resource_context,
|
| + request->salt_callback,
|
| request->security_origin,
|
| device.id);
|
| if (device_it->device.id == source_id &&
|
| @@ -816,7 +821,7 @@ bool MediaStreamManager::GetRequestedDeviceCaptureId(
|
| // id.
|
| if (source_ids.size() == 1 &&
|
| !TranslateSourceIdToDeviceId(type,
|
| - request->resource_context,
|
| + request->salt_callback,
|
| request->security_origin,
|
| source_ids[0], device_id)) {
|
| LOG(WARNING) << "Invalid mandatory " << kMediaStreamSourceInfoId
|
| @@ -833,7 +838,7 @@ bool MediaStreamManager::GetRequestedDeviceCaptureId(
|
| for (std::vector<std::string>::const_iterator it = source_ids.begin();
|
| it != source_ids.end(); ++it) {
|
| if (TranslateSourceIdToDeviceId(type,
|
| - request->resource_context,
|
| + request->salt_callback,
|
| request->security_origin,
|
| *it,
|
| device_id)) {
|
| @@ -850,7 +855,7 @@ void MediaStreamManager::TranslateDeviceIdToSourceId(
|
| if (request->audio_type() == MEDIA_DEVICE_AUDIO_CAPTURE ||
|
| request->video_type() == MEDIA_DEVICE_VIDEO_CAPTURE) {
|
| device->id = content::GetHMACForMediaDeviceID(
|
| - request->resource_context,
|
| + request->salt_callback,
|
| request->security_origin,
|
| device->id);
|
| }
|
| @@ -858,7 +863,7 @@ void MediaStreamManager::TranslateDeviceIdToSourceId(
|
|
|
| bool MediaStreamManager::TranslateSourceIdToDeviceId(
|
| MediaStreamType stream_type,
|
| - ResourceContext* rc,
|
| + const ResourceContext::SaltCallback& sc,
|
| const GURL& security_origin,
|
| const std::string& source_id,
|
| std::string* device_id) const {
|
| @@ -879,7 +884,7 @@ bool MediaStreamManager::TranslateSourceIdToDeviceId(
|
| for (StreamDeviceInfoArray::const_iterator it = cache->devices.begin();
|
| it != cache->devices.end();
|
| ++it) {
|
| - if (content::DoesMediaDeviceIDMatchHMAC(rc, security_origin, source_id,
|
| + if (content::DoesMediaDeviceIDMatchHMAC(sc, security_origin, source_id,
|
| it->device.id)) {
|
| *device_id = it->device.id;
|
| return true;
|
| @@ -1216,7 +1221,7 @@ bool MediaStreamManager::FindExistingRequestedDeviceInfo(
|
| DCHECK(existing_request_state);
|
|
|
| std::string source_id = content::GetHMACForMediaDeviceID(
|
| - new_request.resource_context,
|
| + new_request.salt_callback,
|
| new_request.security_origin,
|
| new_device_info.id);
|
|
|
|
|