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

Side by Side Diff: content/browser/webrtc/webrtc_internals.cc

Issue 2891933004: Remove raw base::DictionaryValue::Set in //content (Closed)
Patch Set: Created 3 years, 7 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/webrtc/webrtc_internals.h" 5 #include "content/browser/webrtc/webrtc_internals.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
11 11
12 #include "base/memory/ptr_util.h"
12 #include "base/strings/string_number_conversions.h" 13 #include "base/strings/string_number_conversions.h"
13 #include "build/build_config.h" 14 #include "build/build_config.h"
14 #include "content/browser/renderer_host/render_process_host_impl.h" 15 #include "content/browser/renderer_host/render_process_host_impl.h"
15 #include "content/browser/web_contents/web_contents_view.h" 16 #include "content/browser/web_contents/web_contents_view.h"
16 #include "content/browser/webrtc/webrtc_internals_ui_observer.h" 17 #include "content/browser/webrtc/webrtc_internals_ui_observer.h"
17 #include "content/public/browser/browser_thread.h" 18 #include "content/public/browser/browser_thread.h"
18 #include "content/public/browser/content_browser_client.h" 19 #include "content/public/browser/content_browser_client.h"
19 #include "content/public/browser/web_contents.h" 20 #include "content/public/browser/web_contents.h"
20 #include "device/power_save_blocker/power_save_blocker.h" 21 #include "device/power_save_blocker/power_save_blocker.h"
21 #include "ipc/ipc_platform_file.h" 22 #include "ipc/ipc_platform_file.h"
(...skipping 12 matching lines...) Expand all
34 namespace content { 35 namespace content {
35 36
36 namespace { 37 namespace {
37 38
38 base::LazyInstance<WebRTCInternals>::Leaky g_webrtc_internals = 39 base::LazyInstance<WebRTCInternals>::Leaky g_webrtc_internals =
39 LAZY_INSTANCE_INITIALIZER; 40 LAZY_INSTANCE_INITIALIZER;
40 41
41 // Makes sure that |dict| has a ListValue under path "log". 42 // Makes sure that |dict| has a ListValue under path "log".
42 base::ListValue* EnsureLogList(base::DictionaryValue* dict) { 43 base::ListValue* EnsureLogList(base::DictionaryValue* dict) {
43 base::ListValue* log = NULL; 44 base::ListValue* log = NULL;
44 if (!dict->GetList("log", &log)) { 45 if (!dict->GetList("log", &log))
45 log = new base::ListValue(); 46 log = dict->SetList("log", base::MakeUnique<base::ListValue>());
46 dict->Set("log", log);
47 }
48 return log; 47 return log;
49 } 48 }
50 49
51 // Removes the log entry associated with a given record. 50 // Removes the log entry associated with a given record.
52 void FreeLogList(base::Value* value) { 51 void FreeLogList(base::Value* value) {
53 DCHECK(value->IsType(base::Value::Type::DICTIONARY)); 52 DCHECK(value->IsType(base::Value::Type::DICTIONARY));
54 auto* dict = static_cast<base::DictionaryValue*>(value); 53 auto* dict = static_cast<base::DictionaryValue*>(value);
55 dict->Remove("log", nullptr); 54 dict->Remove("log", nullptr);
56 } 55 }
57 56
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 if (!record) 180 if (!record)
182 return; 181 return;
183 182
184 if (type == "stop") 183 if (type == "stop")
185 MaybeClosePeerConnection(record); 184 MaybeClosePeerConnection(record);
186 185
187 // Don't update entries if there aren't any observers. 186 // Don't update entries if there aren't any observers.
188 if (!observers_.might_have_observers()) 187 if (!observers_.might_have_observers())
189 return; 188 return;
190 189
191 std::unique_ptr<base::DictionaryValue> log_entry(new base::DictionaryValue()); 190 auto log_entry = base::MakeUnique<base::DictionaryValue>();
192 191
193 double epoch_time = base::Time::Now().ToJsTime(); 192 double epoch_time = base::Time::Now().ToJsTime();
194 string time = base::DoubleToString(epoch_time); 193 string time = base::DoubleToString(epoch_time);
195 log_entry->SetString("time", time); 194 log_entry->SetString("time", time);
196 log_entry->SetString("type", type); 195 log_entry->SetString("type", type);
197 log_entry->SetString("value", value); 196 log_entry->SetString("value", value);
198 197
199 std::unique_ptr<base::DictionaryValue> update(new base::DictionaryValue()); 198 auto update = base::MakeUnique<base::DictionaryValue>();
200 update->SetInteger("pid", static_cast<int>(pid)); 199 update->SetInteger("pid", static_cast<int>(pid));
201 update->SetInteger("lid", lid); 200 update->SetInteger("lid", lid);
202 update->MergeDictionary(log_entry.get()); 201 update->MergeDictionary(log_entry.get());
203 202
204 SendUpdate("updatePeerConnection", std::move(update)); 203 SendUpdate("updatePeerConnection", std::move(update));
205 204
206 // Append the update to the end of the log. 205 // Append the update to the end of the log.
207 EnsureLogList(record)->Append(std::move(log_entry)); 206 EnsureLogList(record)->Append(std::move(log_entry));
208 } 207 }
209 208
210 void WebRTCInternals::OnAddStats(base::ProcessId pid, int lid, 209 void WebRTCInternals::OnAddStats(base::ProcessId pid, int lid,
211 const base::ListValue& value) { 210 const base::ListValue& value) {
212 if (!observers_.might_have_observers()) 211 if (!observers_.might_have_observers())
213 return; 212 return;
214 213
215 std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); 214 auto dict = base::MakeUnique<base::DictionaryValue>();
216 dict->SetInteger("pid", static_cast<int>(pid)); 215 dict->SetInteger("pid", static_cast<int>(pid));
217 dict->SetInteger("lid", lid); 216 dict->SetInteger("lid", lid);
218 217
219 dict->Set("reports", value.CreateDeepCopy()); 218 dict->Set("reports", base::MakeUnique<base::Value>(value));
220 219
221 SendUpdate("addStats", std::move(dict)); 220 SendUpdate("addStats", std::move(dict));
222 } 221 }
223 222
224 void WebRTCInternals::OnGetUserMedia(int rid, 223 void WebRTCInternals::OnGetUserMedia(int rid,
225 base::ProcessId pid, 224 base::ProcessId pid,
226 const std::string& origin, 225 const std::string& origin,
227 bool audio, 226 bool audio,
228 bool video, 227 bool video,
229 const std::string& audio_constraints, 228 const std::string& audio_constraints,
230 const std::string& video_constraints) { 229 const std::string& video_constraints) {
231 DCHECK_CURRENTLY_ON(BrowserThread::UI); 230 DCHECK_CURRENTLY_ON(BrowserThread::UI);
232 231
233 std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); 232 auto dict = base::MakeUnique<base::DictionaryValue>();
234 dict->SetInteger("rid", rid); 233 dict->SetInteger("rid", rid);
235 dict->SetInteger("pid", static_cast<int>(pid)); 234 dict->SetInteger("pid", static_cast<int>(pid));
236 dict->SetString("origin", origin); 235 dict->SetString("origin", origin);
237 if (audio) 236 if (audio)
238 dict->SetString("audio", audio_constraints); 237 dict->SetString("audio", audio_constraints);
239 if (video) 238 if (video)
240 dict->SetString("video", video_constraints); 239 dict->SetString("video", video_constraints);
241 240
242 if (observers_.might_have_observers()) 241 if (observers_.might_have_observers())
243 SendUpdate("addGetUserMedia", dict->CreateDeepCopy()); 242 SendUpdate("addGetUserMedia", dict->CreateDeepCopy());
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 583
585 if (this_pid == static_cast<int>(pid) && this_lid == lid) { 584 if (this_pid == static_cast<int>(pid) && this_lid == lid) {
586 if (index) 585 if (index)
587 *index = i; 586 *index = i;
588 return record; 587 return record;
589 } 588 }
590 } 589 }
591 return nullptr; 590 return nullptr;
592 } 591 }
593 } // namespace content 592 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/tracing/tracing_controller_impl.cc ('k') | content/renderer/devtools/devtools_agent.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698