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

Side by Side Diff: chrome/browser/devtools/devtools_targets_ui.cc

Issue 2811673002: Reland: Stop passing raw pointers to base::Value API in c/b/chromeos and c/b/extensions (Closed)
Patch Set: Workaround with std::move Created 3 years, 8 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 "chrome/browser/devtools/devtools_targets_ui.h" 5 #include "chrome/browser/devtools/devtools_targets_ui.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 244
245 for (auto& it : targets_) { 245 for (auto& it : targets_) {
246 scoped_refptr<DevToolsAgentHost> host = it.second; 246 scoped_refptr<DevToolsAgentHost> host = it.second;
247 base::DictionaryValue* descriptor = id_to_descriptor[host->GetId()]; 247 base::DictionaryValue* descriptor = id_to_descriptor[host->GetId()];
248 DCHECK(descriptor); 248 DCHECK(descriptor);
249 std::string parent_id = host->GetParentId(); 249 std::string parent_id = host->GetParentId();
250 if (parent_id.empty() || id_to_descriptor.count(parent_id) == 0) { 250 if (parent_id.empty() || id_to_descriptor.count(parent_id) == 0) {
251 list_value.Append(base::WrapUnique(descriptor)); 251 list_value.Append(base::WrapUnique(descriptor));
252 } else { 252 } else {
253 base::DictionaryValue* parent = id_to_descriptor[parent_id]; 253 base::DictionaryValue* parent = id_to_descriptor[parent_id];
254 base::ListValue* guests = NULL; 254 base::ListValue* guests_weak = NULL;
255 if (!parent->GetList(kGuestList, &guests)) { 255 if (!parent->GetList(kGuestList, &guests_weak)) {
256 guests = new base::ListValue(); 256 auto guests = base::MakeUnique<base::ListValue>();
257 parent->Set(kGuestList, guests); 257 guests_weak = guests.get();
258 parent->Set(kGuestList, std::move(guests));
258 } 259 }
259 guests->Append(base::WrapUnique(descriptor)); 260 guests_weak->Append(base::WrapUnique(descriptor));
260 } 261 }
261 } 262 }
262 263
263 SendSerializedTargets(list_value); 264 SendSerializedTargets(list_value);
264 } 265 }
265 266
266 // AdbTargetsUIHandler -------------------------------------------------------- 267 // AdbTargetsUIHandler --------------------------------------------------------
267 268
268 class AdbTargetsUIHandler 269 class AdbTargetsUIHandler
269 : public DevToolsTargetsUIHandler, 270 : public DevToolsTargetsUIHandler,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 DevToolsAndroidBridge::RemoteDevice* device = dit->get(); 338 DevToolsAndroidBridge::RemoteDevice* device = dit->get();
338 std::unique_ptr<base::DictionaryValue> device_data( 339 std::unique_ptr<base::DictionaryValue> device_data(
339 new base::DictionaryValue()); 340 new base::DictionaryValue());
340 device_data->SetString(kAdbModelField, device->model()); 341 device_data->SetString(kAdbModelField, device->model());
341 device_data->SetString(kAdbSerialField, device->serial()); 342 device_data->SetString(kAdbSerialField, device->serial());
342 device_data->SetBoolean(kAdbConnectedField, device->is_connected()); 343 device_data->SetBoolean(kAdbConnectedField, device->is_connected());
343 std::string device_id = base::StringPrintf( 344 std::string device_id = base::StringPrintf(
344 kAdbDeviceIdFormat, 345 kAdbDeviceIdFormat,
345 device->serial().c_str()); 346 device->serial().c_str());
346 device_data->SetString(kTargetIdField, device_id); 347 device_data->SetString(kTargetIdField, device_id);
347 base::ListValue* browser_list = new base::ListValue(); 348 auto browser_list = base::MakeUnique<base::ListValue>();
348 device_data->Set(kAdbBrowsersList, browser_list);
349 349
350 DevToolsAndroidBridge::RemoteBrowsers& browsers = device->browsers(); 350 DevToolsAndroidBridge::RemoteBrowsers& browsers = device->browsers();
351 for (DevToolsAndroidBridge::RemoteBrowsers::iterator bit = 351 for (DevToolsAndroidBridge::RemoteBrowsers::iterator bit =
352 browsers.begin(); bit != browsers.end(); ++bit) { 352 browsers.begin(); bit != browsers.end(); ++bit) {
353 DevToolsAndroidBridge::RemoteBrowser* browser = bit->get(); 353 DevToolsAndroidBridge::RemoteBrowser* browser = bit->get();
354 std::unique_ptr<base::DictionaryValue> browser_data( 354 std::unique_ptr<base::DictionaryValue> browser_data(
355 new base::DictionaryValue()); 355 new base::DictionaryValue());
356 browser_data->SetString(kAdbBrowserNameField, browser->display_name()); 356 browser_data->SetString(kAdbBrowserNameField, browser->display_name());
357 browser_data->SetString(kAdbBrowserUserField, browser->user()); 357 browser_data->SetString(kAdbBrowserUserField, browser->user());
358 browser_data->SetString(kAdbBrowserVersionField, browser->version()); 358 browser_data->SetString(kAdbBrowserVersionField, browser->version());
359 DevToolsAndroidBridge::RemoteBrowser::ParsedVersion parsed = 359 DevToolsAndroidBridge::RemoteBrowser::ParsedVersion parsed =
360 browser->GetParsedVersion(); 360 browser->GetParsedVersion();
361 browser_data->SetInteger( 361 browser_data->SetInteger(
362 kAdbBrowserChromeVersionField, 362 kAdbBrowserChromeVersionField,
363 browser->IsChrome() && !parsed.empty() ? parsed[0] : 0); 363 browser->IsChrome() && !parsed.empty() ? parsed[0] : 0);
364 std::string browser_id = browser->GetId(); 364 std::string browser_id = browser->GetId();
365 browser_data->SetString(kTargetIdField, browser_id); 365 browser_data->SetString(kTargetIdField, browser_id);
366 browser_data->SetString(kTargetSourceField, source_id()); 366 browser_data->SetString(kTargetSourceField, source_id());
367 367
368 base::ListValue* page_list = new base::ListValue(); 368 auto page_list = base::MakeUnique<base::ListValue>();
369 remote_browsers_[browser_id] = browser; 369 remote_browsers_[browser_id] = browser;
370 browser_data->Set(kAdbPagesList, page_list);
371 for (const auto& page : browser->pages()) { 370 for (const auto& page : browser->pages()) {
372 scoped_refptr<DevToolsAgentHost> host = page->CreateTarget(); 371 scoped_refptr<DevToolsAgentHost> host = page->CreateTarget();
373 std::unique_ptr<base::DictionaryValue> target_data = Serialize(host); 372 std::unique_ptr<base::DictionaryValue> target_data = Serialize(host);
374 // Pass the screen size in the target object to make sure that 373 // Pass the screen size in the target object to make sure that
375 // the caching logic does not prevent the target item from updating 374 // the caching logic does not prevent the target item from updating
376 // when the screen size changes. 375 // when the screen size changes.
377 gfx::Size screen_size = device->screen_size(); 376 gfx::Size screen_size = device->screen_size();
378 target_data->SetInteger(kAdbScreenWidthField, screen_size.width()); 377 target_data->SetInteger(kAdbScreenWidthField, screen_size.width());
379 target_data->SetInteger(kAdbScreenHeightField, screen_size.height()); 378 target_data->SetInteger(kAdbScreenHeightField, screen_size.height());
380 targets_[host->GetId()] = host; 379 targets_[host->GetId()] = host;
381 page_list->Append(std::move(target_data)); 380 page_list->Append(std::move(target_data));
382 } 381 }
382 browser_data->Set(kAdbPagesList, std::move(page_list));
383 browser_list->Append(std::move(browser_data)); 383 browser_list->Append(std::move(browser_data));
384 } 384 }
385 385
386 device_data->Set(kAdbBrowsersList, std::move(browser_list));
386 device_list.Append(std::move(device_data)); 387 device_list.Append(std::move(device_data));
387 } 388 }
388 SendSerializedTargets(device_list); 389 SendSerializedTargets(device_list);
389 } 390 }
390 391
391 } // namespace 392 } // namespace
392 393
393 // DevToolsTargetsUIHandler --------------------------------------------------- 394 // DevToolsTargetsUIHandler ---------------------------------------------------
394 395
395 DevToolsTargetsUIHandler::DevToolsTargetsUIHandler( 396 DevToolsTargetsUIHandler::DevToolsTargetsUIHandler(
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 DevToolsAndroidBridge::Factory::GetForProfile(profile_); 476 DevToolsAndroidBridge::Factory::GetForProfile(profile_);
476 if (android_bridge) 477 if (android_bridge)
477 android_bridge->RemovePortForwardingListener(this); 478 android_bridge->RemovePortForwardingListener(this);
478 } 479 }
479 480
480 void PortForwardingStatusSerializer::PortStatusChanged( 481 void PortForwardingStatusSerializer::PortStatusChanged(
481 const ForwardingStatus& status) { 482 const ForwardingStatus& status) {
482 base::DictionaryValue result; 483 base::DictionaryValue result;
483 for (ForwardingStatus::const_iterator sit = status.begin(); 484 for (ForwardingStatus::const_iterator sit = status.begin();
484 sit != status.end(); ++sit) { 485 sit != status.end(); ++sit) {
485 base::DictionaryValue* port_status_dict = new base::DictionaryValue(); 486 auto port_status_dict = base::MakeUnique<base::DictionaryValue>();
486 const PortStatusMap& port_status_map = sit->second; 487 const PortStatusMap& port_status_map = sit->second;
487 for (PortStatusMap::const_iterator it = port_status_map.begin(); 488 for (PortStatusMap::const_iterator it = port_status_map.begin();
488 it != port_status_map.end(); ++it) { 489 it != port_status_map.end(); ++it) {
489 port_status_dict->SetInteger(base::IntToString(it->first), it->second); 490 port_status_dict->SetInteger(base::IntToString(it->first), it->second);
490 } 491 }
491 492
492 base::DictionaryValue* device_status_dict = new base::DictionaryValue(); 493 auto device_status_dict = base::MakeUnique<base::DictionaryValue>();
493 device_status_dict->Set(kPortForwardingPorts, port_status_dict); 494 device_status_dict->Set(kPortForwardingPorts, std::move(port_status_dict));
494 device_status_dict->SetString(kPortForwardingBrowserId, 495 device_status_dict->SetString(kPortForwardingBrowserId,
495 sit->first->GetId()); 496 sit->first->GetId());
496 497
497 std::string device_id = base::StringPrintf( 498 std::string device_id = base::StringPrintf(
498 kAdbDeviceIdFormat, 499 kAdbDeviceIdFormat,
499 sit->first->serial().c_str()); 500 sit->first->serial().c_str());
500 result.Set(device_id, device_status_dict); 501 result.Set(device_id, std::move(device_status_dict));
501 } 502 }
502 callback_.Run(result); 503 callback_.Run(result);
503 } 504 }
OLDNEW
« no previous file with comments | « chrome/browser/devtools/devtools_protocol.cc ('k') | chrome/browser/devtools/devtools_ui_bindings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698