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

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

Issue 2502863002: Add UI DevTools under chrome://inspect/#other (Closed)
Patch Set: Add ui_devtools to BUILD file Created 4 years, 1 month 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"
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698