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 <utility> |
| 8 |
7 #include "base/location.h" | 9 #include "base/location.h" |
8 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
9 #include "base/single_thread_task_runner.h" | 11 #include "base/single_thread_task_runner.h" |
10 #include "base/stl_util.h" | 12 #include "base/stl_util.h" |
11 #include "base/strings/string_number_conversions.h" | 13 #include "base/strings/string_number_conversions.h" |
12 #include "base/strings/stringprintf.h" | 14 #include "base/strings/stringprintf.h" |
13 #include "base/threading/thread_task_runner_handle.h" | 15 #include "base/threading/thread_task_runner_handle.h" |
14 #include "base/values.h" | 16 #include "base/values.h" |
15 #include "base/version.h" | 17 #include "base/version.h" |
16 #include "chrome/browser/devtools/device/devtools_android_bridge.h" | 18 #include "chrome/browser/devtools/device/devtools_android_bridge.h" |
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 const DevToolsAndroidBridge::RemoteDevices& devices) { | 325 const DevToolsAndroidBridge::RemoteDevices& devices) { |
324 remote_browsers_.clear(); | 326 remote_browsers_.clear(); |
325 STLDeleteValues(&targets_); | 327 STLDeleteValues(&targets_); |
326 if (!android_bridge_) | 328 if (!android_bridge_) |
327 return; | 329 return; |
328 | 330 |
329 base::ListValue device_list; | 331 base::ListValue device_list; |
330 for (DevToolsAndroidBridge::RemoteDevices::const_iterator dit = | 332 for (DevToolsAndroidBridge::RemoteDevices::const_iterator dit = |
331 devices.begin(); dit != devices.end(); ++dit) { | 333 devices.begin(); dit != devices.end(); ++dit) { |
332 DevToolsAndroidBridge::RemoteDevice* device = dit->get(); | 334 DevToolsAndroidBridge::RemoteDevice* device = dit->get(); |
333 base::DictionaryValue* device_data = new base::DictionaryValue(); | 335 std::unique_ptr<base::DictionaryValue> device_data( |
| 336 new base::DictionaryValue()); |
334 device_data->SetString(kAdbModelField, device->model()); | 337 device_data->SetString(kAdbModelField, device->model()); |
335 device_data->SetString(kAdbSerialField, device->serial()); | 338 device_data->SetString(kAdbSerialField, device->serial()); |
336 device_data->SetBoolean(kAdbConnectedField, device->is_connected()); | 339 device_data->SetBoolean(kAdbConnectedField, device->is_connected()); |
337 std::string device_id = base::StringPrintf( | 340 std::string device_id = base::StringPrintf( |
338 kAdbDeviceIdFormat, | 341 kAdbDeviceIdFormat, |
339 device->serial().c_str()); | 342 device->serial().c_str()); |
340 device_data->SetString(kTargetIdField, device_id); | 343 device_data->SetString(kTargetIdField, device_id); |
341 base::ListValue* browser_list = new base::ListValue(); | 344 base::ListValue* browser_list = new base::ListValue(); |
342 device_data->Set(kAdbBrowsersList, browser_list); | 345 device_data->Set(kAdbBrowsersList, browser_list); |
343 | 346 |
344 DevToolsAndroidBridge::RemoteBrowsers& browsers = device->browsers(); | 347 DevToolsAndroidBridge::RemoteBrowsers& browsers = device->browsers(); |
345 for (DevToolsAndroidBridge::RemoteBrowsers::iterator bit = | 348 for (DevToolsAndroidBridge::RemoteBrowsers::iterator bit = |
346 browsers.begin(); bit != browsers.end(); ++bit) { | 349 browsers.begin(); bit != browsers.end(); ++bit) { |
347 DevToolsAndroidBridge::RemoteBrowser* browser = bit->get(); | 350 DevToolsAndroidBridge::RemoteBrowser* browser = bit->get(); |
348 base::DictionaryValue* browser_data = new base::DictionaryValue(); | 351 std::unique_ptr<base::DictionaryValue> browser_data( |
| 352 new base::DictionaryValue()); |
349 browser_data->SetString(kAdbBrowserNameField, browser->display_name()); | 353 browser_data->SetString(kAdbBrowserNameField, browser->display_name()); |
350 browser_data->SetString(kAdbBrowserUserField, browser->user()); | 354 browser_data->SetString(kAdbBrowserUserField, browser->user()); |
351 browser_data->SetString(kAdbBrowserVersionField, browser->version()); | 355 browser_data->SetString(kAdbBrowserVersionField, browser->version()); |
352 DevToolsAndroidBridge::RemoteBrowser::ParsedVersion parsed = | 356 DevToolsAndroidBridge::RemoteBrowser::ParsedVersion parsed = |
353 browser->GetParsedVersion(); | 357 browser->GetParsedVersion(); |
354 browser_data->SetInteger( | 358 browser_data->SetInteger( |
355 kAdbBrowserChromeVersionField, | 359 kAdbBrowserChromeVersionField, |
356 browser->IsChrome() && !parsed.empty() ? parsed[0] : 0); | 360 browser->IsChrome() && !parsed.empty() ? parsed[0] : 0); |
357 std::string browser_id = browser->GetId(); | 361 std::string browser_id = browser->GetId(); |
358 browser_data->SetString(kTargetIdField, browser_id); | 362 browser_data->SetString(kTargetIdField, browser_id); |
(...skipping 11 matching lines...) Expand all Loading... |
370 !android_bridge_->HasDevToolsWindow(target->GetId())); | 374 !android_bridge_->HasDevToolsWindow(target->GetId())); |
371 // Pass the screen size in the target object to make sure that | 375 // Pass the screen size in the target object to make sure that |
372 // the caching logic does not prevent the target item from updating | 376 // the caching logic does not prevent the target item from updating |
373 // when the screen size changes. | 377 // when the screen size changes. |
374 gfx::Size screen_size = device->screen_size(); | 378 gfx::Size screen_size = device->screen_size(); |
375 target_data->SetInteger(kAdbScreenWidthField, screen_size.width()); | 379 target_data->SetInteger(kAdbScreenWidthField, screen_size.width()); |
376 target_data->SetInteger(kAdbScreenHeightField, screen_size.height()); | 380 target_data->SetInteger(kAdbScreenHeightField, screen_size.height()); |
377 targets_[target->GetId()] = target; | 381 targets_[target->GetId()] = target; |
378 page_list->Append(target_data); | 382 page_list->Append(target_data); |
379 } | 383 } |
380 browser_list->Append(browser_data); | 384 browser_list->Append(std::move(browser_data)); |
381 } | 385 } |
382 | 386 |
383 device_list.Append(device_data); | 387 device_list.Append(std::move(device_data)); |
384 } | 388 } |
385 SendSerializedTargets(device_list); | 389 SendSerializedTargets(device_list); |
386 } | 390 } |
387 | 391 |
388 } // namespace | 392 } // namespace |
389 | 393 |
390 // DevToolsTargetsUIHandler --------------------------------------------------- | 394 // DevToolsTargetsUIHandler --------------------------------------------------- |
391 | 395 |
392 DevToolsTargetsUIHandler::DevToolsTargetsUIHandler( | 396 DevToolsTargetsUIHandler::DevToolsTargetsUIHandler( |
393 const std::string& source_id, | 397 const std::string& source_id, |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
492 device_status_dict->SetString(kPortForwardingBrowserId, | 496 device_status_dict->SetString(kPortForwardingBrowserId, |
493 sit->first->GetId()); | 497 sit->first->GetId()); |
494 | 498 |
495 std::string device_id = base::StringPrintf( | 499 std::string device_id = base::StringPrintf( |
496 kAdbDeviceIdFormat, | 500 kAdbDeviceIdFormat, |
497 sit->first->serial().c_str()); | 501 sit->first->serial().c_str()); |
498 result.Set(device_id, device_status_dict); | 502 result.Set(device_id, device_status_dict); |
499 } | 503 } |
500 callback_.Run(result); | 504 callback_.Run(result); |
501 } | 505 } |
OLD | NEW |