OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |