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

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

Issue 2806283002: Revert of Stop passing raw pointers to base::Value API in c/b/chromeos and c/b/extensions (Closed)
Patch Set: 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_weak = NULL; 254 base::ListValue* guests = NULL;
255 if (!parent->GetList(kGuestList, &guests_weak)) { 255 if (!parent->GetList(kGuestList, &guests)) {
256 auto guests = base::MakeUnique<base::ListValue>(); 256 guests = new base::ListValue();
257 guests_weak = guests.get(); 257 parent->Set(kGuestList, guests);
258 parent->Set(kGuestList, std::move(guests));
259 } 258 }
260 guests_weak->Append(base::WrapUnique(descriptor)); 259 guests->Append(base::WrapUnique(descriptor));
261 } 260 }
262 } 261 }
263 262
264 SendSerializedTargets(list_value); 263 SendSerializedTargets(list_value);
265 } 264 }
266 265
267 // AdbTargetsUIHandler -------------------------------------------------------- 266 // AdbTargetsUIHandler --------------------------------------------------------
268 267
269 class AdbTargetsUIHandler 268 class AdbTargetsUIHandler
270 : public DevToolsTargetsUIHandler, 269 : public DevToolsTargetsUIHandler,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 DevToolsAndroidBridge::RemoteDevice* device = dit->get(); 337 DevToolsAndroidBridge::RemoteDevice* device = dit->get();
339 std::unique_ptr<base::DictionaryValue> device_data( 338 std::unique_ptr<base::DictionaryValue> device_data(
340 new base::DictionaryValue()); 339 new base::DictionaryValue());
341 device_data->SetString(kAdbModelField, device->model()); 340 device_data->SetString(kAdbModelField, device->model());
342 device_data->SetString(kAdbSerialField, device->serial()); 341 device_data->SetString(kAdbSerialField, device->serial());
343 device_data->SetBoolean(kAdbConnectedField, device->is_connected()); 342 device_data->SetBoolean(kAdbConnectedField, device->is_connected());
344 std::string device_id = base::StringPrintf( 343 std::string device_id = base::StringPrintf(
345 kAdbDeviceIdFormat, 344 kAdbDeviceIdFormat,
346 device->serial().c_str()); 345 device->serial().c_str());
347 device_data->SetString(kTargetIdField, device_id); 346 device_data->SetString(kTargetIdField, device_id);
348 auto browser_list = base::MakeUnique<base::ListValue>(); 347 base::ListValue* browser_list = new 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 auto page_list = base::MakeUnique<base::ListValue>(); 368 base::ListValue* page_list = new base::ListValue();
369 remote_browsers_[browser_id] = browser; 369 remote_browsers_[browser_id] = browser;
370 browser_data->Set(kAdbPagesList, page_list);
370 for (const auto& page : browser->pages()) { 371 for (const auto& page : browser->pages()) {
371 scoped_refptr<DevToolsAgentHost> host = page->CreateTarget(); 372 scoped_refptr<DevToolsAgentHost> host = page->CreateTarget();
372 std::unique_ptr<base::DictionaryValue> target_data = Serialize(host); 373 std::unique_ptr<base::DictionaryValue> target_data = Serialize(host);
373 // Pass the screen size in the target object to make sure that 374 // Pass the screen size in the target object to make sure that
374 // the caching logic does not prevent the target item from updating 375 // the caching logic does not prevent the target item from updating
375 // when the screen size changes. 376 // when the screen size changes.
376 gfx::Size screen_size = device->screen_size(); 377 gfx::Size screen_size = device->screen_size();
377 target_data->SetInteger(kAdbScreenWidthField, screen_size.width()); 378 target_data->SetInteger(kAdbScreenWidthField, screen_size.width());
378 target_data->SetInteger(kAdbScreenHeightField, screen_size.height()); 379 target_data->SetInteger(kAdbScreenHeightField, screen_size.height());
379 targets_[host->GetId()] = host; 380 targets_[host->GetId()] = host;
380 page_list->Append(std::move(target_data)); 381 page_list->Append(std::move(target_data));
381 } 382 }
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));
387 device_list.Append(std::move(device_data)); 386 device_list.Append(std::move(device_data));
388 } 387 }
389 SendSerializedTargets(device_list); 388 SendSerializedTargets(device_list);
390 } 389 }
391 390
392 } // namespace 391 } // namespace
393 392
394 // DevToolsTargetsUIHandler --------------------------------------------------- 393 // DevToolsTargetsUIHandler ---------------------------------------------------
395 394
396 DevToolsTargetsUIHandler::DevToolsTargetsUIHandler( 395 DevToolsTargetsUIHandler::DevToolsTargetsUIHandler(
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 DevToolsAndroidBridge::Factory::GetForProfile(profile_); 475 DevToolsAndroidBridge::Factory::GetForProfile(profile_);
477 if (android_bridge) 476 if (android_bridge)
478 android_bridge->RemovePortForwardingListener(this); 477 android_bridge->RemovePortForwardingListener(this);
479 } 478 }
480 479
481 void PortForwardingStatusSerializer::PortStatusChanged( 480 void PortForwardingStatusSerializer::PortStatusChanged(
482 const ForwardingStatus& status) { 481 const ForwardingStatus& status) {
483 base::DictionaryValue result; 482 base::DictionaryValue result;
484 for (ForwardingStatus::const_iterator sit = status.begin(); 483 for (ForwardingStatus::const_iterator sit = status.begin();
485 sit != status.end(); ++sit) { 484 sit != status.end(); ++sit) {
486 auto port_status_dict = base::MakeUnique<base::DictionaryValue>(); 485 base::DictionaryValue* port_status_dict = new base::DictionaryValue();
487 const PortStatusMap& port_status_map = sit->second; 486 const PortStatusMap& port_status_map = sit->second;
488 for (PortStatusMap::const_iterator it = port_status_map.begin(); 487 for (PortStatusMap::const_iterator it = port_status_map.begin();
489 it != port_status_map.end(); ++it) { 488 it != port_status_map.end(); ++it) {
490 port_status_dict->SetInteger(base::IntToString(it->first), it->second); 489 port_status_dict->SetInteger(base::IntToString(it->first), it->second);
491 } 490 }
492 491
493 auto device_status_dict = base::MakeUnique<base::DictionaryValue>(); 492 base::DictionaryValue* device_status_dict = new base::DictionaryValue();
494 device_status_dict->Set(kPortForwardingPorts, std::move(port_status_dict)); 493 device_status_dict->Set(kPortForwardingPorts, port_status_dict);
495 device_status_dict->SetString(kPortForwardingBrowserId, 494 device_status_dict->SetString(kPortForwardingBrowserId,
496 sit->first->GetId()); 495 sit->first->GetId());
497 496
498 std::string device_id = base::StringPrintf( 497 std::string device_id = base::StringPrintf(
499 kAdbDeviceIdFormat, 498 kAdbDeviceIdFormat,
500 sit->first->serial().c_str()); 499 sit->first->serial().c_str());
501 result.Set(device_id, std::move(device_status_dict)); 500 result.Set(device_id, device_status_dict);
502 } 501 }
503 callback_.Run(result); 502 callback_.Run(result);
504 } 503 }
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