Chromium Code Reviews| 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" |
| 11 #include "base/memory/ptr_util.h" | 11 #include "base/memory/ptr_util.h" |
| 12 #include "base/memory/weak_ptr.h" | 12 #include "base/memory/weak_ptr.h" |
| 13 #include "base/single_thread_task_runner.h" | 13 #include "base/single_thread_task_runner.h" |
| 14 #include "base/stl_util.h" | 14 #include "base/stl_util.h" |
| 15 #include "base/strings/string_number_conversions.h" | 15 #include "base/strings/string_number_conversions.h" |
| 16 #include "base/strings/stringprintf.h" | 16 #include "base/strings/stringprintf.h" |
| 17 #include "base/threading/thread_task_runner_handle.h" | 17 #include "base/threading/thread_task_runner_handle.h" |
| 18 #include "base/values.h" | 18 #include "base/values.h" |
| 19 #include "base/version.h" | 19 #include "base/version.h" |
| 20 #include "chrome/browser/devtools/device/devtools_android_bridge.h" | 20 #include "chrome/browser/devtools/device/devtools_android_bridge.h" |
| 21 #include "components/ui_devtools/devtools_server.h" | |
| 21 #include "content/public/browser/browser_child_process_observer.h" | 22 #include "content/public/browser/browser_child_process_observer.h" |
| 22 #include "content/public/browser/browser_thread.h" | 23 #include "content/public/browser/browser_thread.h" |
| 23 #include "content/public/browser/child_process_data.h" | 24 #include "content/public/browser/child_process_data.h" |
| 24 #include "content/public/browser/devtools_agent_host.h" | 25 #include "content/public/browser/devtools_agent_host.h" |
| 25 #include "content/public/browser/notification_observer.h" | 26 #include "content/public/browser/notification_observer.h" |
| 26 #include "content/public/browser/notification_registrar.h" | 27 #include "content/public/browser/notification_registrar.h" |
| 27 #include "content/public/browser/notification_service.h" | 28 #include "content/public/browser/notification_service.h" |
| 28 #include "content/public/browser/notification_source.h" | 29 #include "content/public/browser/notification_source.h" |
| 29 #include "content/public/browser/notification_types.h" | 30 #include "content/public/browser/notification_types.h" |
| 30 #include "content/public/browser/worker_service.h" | 31 #include "content/public/browser/worker_service.h" |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 62 const char kAdbBrowserVersionField[] = "adbBrowserVersion"; | 63 const char kAdbBrowserVersionField[] = "adbBrowserVersion"; |
| 63 const char kAdbBrowserChromeVersionField[] = "adbBrowserChromeVersion"; | 64 const char kAdbBrowserChromeVersionField[] = "adbBrowserChromeVersion"; |
| 64 const char kAdbPagesList[] = "pages"; | 65 const char kAdbPagesList[] = "pages"; |
| 65 | 66 |
| 66 const char kAdbScreenWidthField[] = "adbScreenWidth"; | 67 const char kAdbScreenWidthField[] = "adbScreenWidth"; |
| 67 const char kAdbScreenHeightField[] = "adbScreenHeight"; | 68 const char kAdbScreenHeightField[] = "adbScreenHeight"; |
| 68 | 69 |
| 69 const char kPortForwardingPorts[] = "ports"; | 70 const char kPortForwardingPorts[] = "ports"; |
| 70 const char kPortForwardingBrowserId[] = "browserId"; | 71 const char kPortForwardingBrowserId[] = "browserId"; |
| 71 | 72 |
| 73 const char kUiDevTools[] = "isUiDevTools"; | |
| 74 const char kUiDevToolsTargetType[] = "ui_devtools"; | |
| 75 | |
| 76 void PopulateTargetsWithUiDevtools(base::ListValue& targets) { | |
| 77 for (const auto& client_pair : | |
| 78 ui::devtools::UiDevToolsServer::GetClientNamesAndUrls()) { | |
| 79 auto target_data = base::MakeUnique<base::DictionaryValue>(); | |
| 80 target_data->SetString(kNameField, client_pair.first); | |
| 81 target_data->SetString(kUrlField, client_pair.second); | |
| 82 target_data->SetString(kTargetTypeField, kUiDevToolsTargetType); | |
| 83 target_data->SetBoolean(kUiDevTools, true); | |
| 84 targets.Append(std::move(target_data)); | |
| 85 } | |
| 86 } | |
| 87 | |
| 72 // CancelableTimer ------------------------------------------------------------ | 88 // CancelableTimer ------------------------------------------------------------ |
| 73 | 89 |
| 74 class CancelableTimer { | 90 class CancelableTimer { |
| 75 public: | 91 public: |
| 76 CancelableTimer(base::Closure callback, base::TimeDelta delay) | 92 CancelableTimer(base::Closure callback, base::TimeDelta delay) |
| 77 : callback_(callback), | 93 : callback_(callback), |
| 78 weak_factory_(this) { | 94 weak_factory_(this) { |
| 79 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( | 95 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( |
| 80 FROM_HERE, | 96 FROM_HERE, |
| 81 base::Bind(&CancelableTimer::Fire, weak_factory_.GetWeakPtr()), delay); | 97 base::Bind(&CancelableTimer::Fire, weak_factory_.GetWeakPtr()), delay); |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 253 base::DictionaryValue* parent = id_to_descriptor[parent_id]; | 269 base::DictionaryValue* parent = id_to_descriptor[parent_id]; |
| 254 base::ListValue* guests = NULL; | 270 base::ListValue* guests = NULL; |
| 255 if (!parent->GetList(kGuestList, &guests)) { | 271 if (!parent->GetList(kGuestList, &guests)) { |
| 256 guests = new base::ListValue(); | 272 guests = new base::ListValue(); |
| 257 parent->Set(kGuestList, guests); | 273 parent->Set(kGuestList, guests); |
| 258 } | 274 } |
| 259 guests->Append(base::WrapUnique(descriptor)); | 275 guests->Append(base::WrapUnique(descriptor)); |
| 260 } | 276 } |
| 261 } | 277 } |
| 262 | 278 |
| 279 PopulateTargetsWithUiDevtools(list_value); | |
|
dgozman
2016/11/15 23:47:08
Instead of adding to local targets, let's handle i
Sarmad Hashmi
2016/11/16 01:42:57
Done.
| |
| 263 SendSerializedTargets(list_value); | 280 SendSerializedTargets(list_value); |
| 264 } | 281 } |
| 265 | 282 |
| 266 // AdbTargetsUIHandler -------------------------------------------------------- | 283 // AdbTargetsUIHandler -------------------------------------------------------- |
| 267 | 284 |
| 268 class AdbTargetsUIHandler | 285 class AdbTargetsUIHandler |
| 269 : public DevToolsTargetsUIHandler, | 286 : public DevToolsTargetsUIHandler, |
| 270 public DevToolsAndroidBridge::DeviceListListener { | 287 public DevToolsAndroidBridge::DeviceListListener { |
| 271 public: | 288 public: |
| 272 AdbTargetsUIHandler(const Callback& callback, Profile* profile); | 289 AdbTargetsUIHandler(const Callback& callback, Profile* profile); |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 494 device_status_dict->SetString(kPortForwardingBrowserId, | 511 device_status_dict->SetString(kPortForwardingBrowserId, |
| 495 sit->first->GetId()); | 512 sit->first->GetId()); |
| 496 | 513 |
| 497 std::string device_id = base::StringPrintf( | 514 std::string device_id = base::StringPrintf( |
| 498 kAdbDeviceIdFormat, | 515 kAdbDeviceIdFormat, |
| 499 sit->first->serial().c_str()); | 516 sit->first->serial().c_str()); |
| 500 result.Set(device_id, device_status_dict); | 517 result.Set(device_id, device_status_dict); |
| 501 } | 518 } |
| 502 callback_.Run(result); | 519 callback_.Run(result); |
| 503 } | 520 } |
| OLD | NEW |