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

Side by Side Diff: content/browser/media/media_internals.cc

Issue 2891933004: Remove raw base::DictionaryValue::Set in //content (Closed)
Patch Set: Rebase Created 3 years, 6 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/media/media_internals.h" 5 #include "content/browser/media/media_internals.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <tuple> 10 #include <tuple>
(...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 int status; 772 int status;
773 if (!event.params.GetInteger("pipeline_error", &status) || 773 if (!event.params.GetInteger("pipeline_error", &status) ||
774 status < static_cast<int>(media::PIPELINE_OK) || 774 status < static_cast<int>(media::PIPELINE_OK) ||
775 status > static_cast<int>(media::PIPELINE_STATUS_MAX)) { 775 status > static_cast<int>(media::PIPELINE_STATUS_MAX)) {
776 return false; 776 return false;
777 } 777 }
778 media::PipelineStatus error = static_cast<media::PipelineStatus>(status); 778 media::PipelineStatus error = static_cast<media::PipelineStatus>(status);
779 dict.SetString("params.pipeline_error", 779 dict.SetString("params.pipeline_error",
780 media::MediaLog::PipelineStatusToString(error)); 780 media::MediaLog::PipelineStatusToString(error));
781 } else { 781 } else {
782 dict.Set("params", event.params.DeepCopy()); 782 dict.Set("params", base::MakeUnique<base::Value>(event.params));
783 } 783 }
784 784
785 *update = SerializeUpdate("media.onMediaEvent", &dict); 785 *update = SerializeUpdate("media.onMediaEvent", &dict);
786 return true; 786 return true;
787 } 787 }
788 788
789 void MediaInternals::OnMediaEvents( 789 void MediaInternals::OnMediaEvents(
790 int render_process_id, const std::vector<media::MediaLogEvent>& events) { 790 int render_process_id, const std::vector<media::MediaLogEvent>& events) {
791 DCHECK_CURRENTLY_ON(BrowserThread::UI); 791 DCHECK_CURRENTLY_ON(BrowserThread::UI);
792 // Notify observers that |event| has occurred. 792 // Notify observers that |event| has occurred.
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
864 } 864 }
865 865
866 void MediaInternals::UpdateVideoCaptureDeviceCapabilities( 866 void MediaInternals::UpdateVideoCaptureDeviceCapabilities(
867 const std::vector<std::tuple<media::VideoCaptureDeviceDescriptor, 867 const std::vector<std::tuple<media::VideoCaptureDeviceDescriptor,
868 media::VideoCaptureFormats>>& 868 media::VideoCaptureFormats>>&
869 descriptors_and_formats) { 869 descriptors_and_formats) {
870 DCHECK_CURRENTLY_ON(BrowserThread::IO); 870 DCHECK_CURRENTLY_ON(BrowserThread::IO);
871 video_capture_capabilities_cached_data_.Clear(); 871 video_capture_capabilities_cached_data_.Clear();
872 872
873 for (const auto& device_format_pair : descriptors_and_formats) { 873 for (const auto& device_format_pair : descriptors_and_formats) {
874 base::ListValue* format_list = new base::ListValue(); 874 auto format_list = base::MakeUnique<base::ListValue>();
875 // TODO(nisse): Representing format information as a string, to be 875 // TODO(nisse): Representing format information as a string, to be
876 // parsed by the javascript handler, is brittle. Consider passing 876 // parsed by the javascript handler, is brittle. Consider passing
877 // a list of mappings instead. 877 // a list of mappings instead.
878 878
879 const media::VideoCaptureDeviceDescriptor& descriptor = 879 const media::VideoCaptureDeviceDescriptor& descriptor =
880 std::get<0>(device_format_pair); 880 std::get<0>(device_format_pair);
881 const media::VideoCaptureFormats& supported_formats = 881 const media::VideoCaptureFormats& supported_formats =
882 std::get<1>(device_format_pair); 882 std::get<1>(device_format_pair);
883 for (const auto& format : supported_formats) 883 for (const auto& format : supported_formats)
884 format_list->AppendString(media::VideoCaptureFormat::ToString(format)); 884 format_list->AppendString(media::VideoCaptureFormat::ToString(format));
885 885
886 std::unique_ptr<base::DictionaryValue> device_dict( 886 std::unique_ptr<base::DictionaryValue> device_dict(
887 new base::DictionaryValue()); 887 new base::DictionaryValue());
888 device_dict->SetString("id", descriptor.device_id); 888 device_dict->SetString("id", descriptor.device_id);
889 device_dict->SetString("name", descriptor.GetNameAndModel()); 889 device_dict->SetString("name", descriptor.GetNameAndModel());
890 device_dict->Set("formats", format_list); 890 device_dict->Set("formats", std::move(format_list));
891 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ 891 #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \
892 defined(OS_ANDROID) 892 defined(OS_ANDROID)
893 device_dict->SetString("captureApi", descriptor.GetCaptureApiTypeString()); 893 device_dict->SetString("captureApi", descriptor.GetCaptureApiTypeString());
894 #endif 894 #endif
895 video_capture_capabilities_cached_data_.Append(std::move(device_dict)); 895 video_capture_capabilities_cached_data_.Append(std::move(device_dict));
896 } 896 }
897 897
898 SendVideoCaptureDeviceCapabilities(); 898 SendVideoCaptureDeviceCapabilities();
899 } 899 }
900 900
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 const std::string& cache_key, 963 const std::string& cache_key,
964 const std::string& function, 964 const std::string& function,
965 const base::DictionaryValue* value) { 965 const base::DictionaryValue* value) {
966 { 966 {
967 base::AutoLock auto_lock(lock_); 967 base::AutoLock auto_lock(lock_);
968 const bool has_entry = audio_streams_cached_data_.HasKey(cache_key); 968 const bool has_entry = audio_streams_cached_data_.HasKey(cache_key);
969 if ((type == UPDATE_IF_EXISTS || type == UPDATE_AND_DELETE) && !has_entry) { 969 if ((type == UPDATE_IF_EXISTS || type == UPDATE_AND_DELETE) && !has_entry) {
970 return; 970 return;
971 } else if (!has_entry) { 971 } else if (!has_entry) {
972 DCHECK_EQ(type, CREATE); 972 DCHECK_EQ(type, CREATE);
973 audio_streams_cached_data_.Set(cache_key, value->DeepCopy()); 973 audio_streams_cached_data_.Set(cache_key,
974 base::MakeUnique<base::Value>(*value));
974 } else if (type == UPDATE_AND_DELETE) { 975 } else if (type == UPDATE_AND_DELETE) {
975 std::unique_ptr<base::Value> out_value; 976 std::unique_ptr<base::Value> out_value;
976 CHECK(audio_streams_cached_data_.Remove(cache_key, &out_value)); 977 CHECK(audio_streams_cached_data_.Remove(cache_key, &out_value));
977 } else { 978 } else {
978 base::DictionaryValue* existing_dict = NULL; 979 base::DictionaryValue* existing_dict = NULL;
979 CHECK( 980 CHECK(
980 audio_streams_cached_data_.GetDictionary(cache_key, &existing_dict)); 981 audio_streams_cached_data_.GetDictionary(cache_key, &existing_dict));
981 existing_dict->MergeDictionary(value); 982 existing_dict->MergeDictionary(value);
982 } 983 }
983 } 984 }
984 985
985 if (CanUpdate()) 986 if (CanUpdate())
986 SendUpdate(SerializeUpdate(function, value)); 987 SendUpdate(SerializeUpdate(function, value));
987 } 988 }
988 989
989 std::unique_ptr<ukm::UkmEntryBuilder> MediaInternals::CreateUkmBuilder( 990 std::unique_ptr<ukm::UkmEntryBuilder> MediaInternals::CreateUkmBuilder(
990 const GURL& url, 991 const GURL& url,
991 const char* event_name) { 992 const char* event_name) {
992 // UKM is unavailable in builds w/o chrome/ code (e.g., content_shell). 993 // UKM is unavailable in builds w/o chrome/ code (e.g., content_shell).
993 ukm::UkmRecorder* ukm_recorder = ukm::UkmRecorder::Get(); 994 ukm::UkmRecorder* ukm_recorder = ukm::UkmRecorder::Get();
994 if (!ukm_recorder) 995 if (!ukm_recorder)
995 return nullptr; 996 return nullptr;
996 997
997 const int32_t source_id = ukm_recorder->GetNewSourceID(); 998 const int32_t source_id = ukm_recorder->GetNewSourceID();
998 ukm_recorder->UpdateSourceURL(source_id, url); 999 ukm_recorder->UpdateSourceURL(source_id, url);
999 return ukm_recorder->GetEntryBuilder(source_id, event_name); 1000 return ukm_recorder->GetEntryBuilder(source_id, event_name);
1000 } 1001 }
1001 1002
1002 } // namespace content 1003 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/indexed_db/indexed_db_context_impl.cc ('k') | content/browser/media/media_internals_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698