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 "base/memory/weak_ptr.h" | 7 #include "base/memory/weak_ptr.h" |
8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 const char kAdbScreenHeightField[] = "adbScreenHeight"; | 59 const char kAdbScreenHeightField[] = "adbScreenHeight"; |
60 const char kAdbAttachedForeignField[] = "adbAttachedForeign"; | 60 const char kAdbAttachedForeignField[] = "adbAttachedForeign"; |
61 | 61 |
62 const char kPortForwardingPorts[] = "ports"; | 62 const char kPortForwardingPorts[] = "ports"; |
63 const char kPortForwardingBrowserId[] = "browserId"; | 63 const char kPortForwardingBrowserId[] = "browserId"; |
64 | 64 |
65 std::string SerializeBrowserId( | 65 std::string SerializeBrowserId( |
66 scoped_refptr<DevToolsAndroidBridge::RemoteBrowser> browser) { | 66 scoped_refptr<DevToolsAndroidBridge::RemoteBrowser> browser) { |
67 return base::StringPrintf( | 67 return base::StringPrintf( |
68 "browser:%s:%s:%s:%s", | 68 "browser:%s:%s:%s:%s", |
69 browser->serial().c_str(), // Ensure uniqueness across devices. | 69 browser->serial().c_str(), // Ensure uniqueness across devices. |
70 browser->display_name().c_str(), // Sort by display name. | 70 browser->display_name().c_str(), // Sort by display name. |
71 browser->version().c_str(), // Then by version. | 71 browser->version().c_str(), // Then by version. |
72 browser->socket().c_str()); // Ensure uniqueness on the device. | 72 browser->socket().c_str()); // Ensure uniqueness on the device. |
73 } | 73 } |
74 | 74 |
75 // CancelableTimer ------------------------------------------------------------ | 75 // CancelableTimer ------------------------------------------------------------ |
76 | 76 |
77 class CancelableTimer { | 77 class CancelableTimer { |
78 public: | 78 public: |
79 CancelableTimer(base::Closure callback, base::TimeDelta delay) | 79 CancelableTimer(base::Closure callback, base::TimeDelta delay) |
80 : callback_(callback), | 80 : callback_(callback), |
81 weak_factory_(this) { | 81 weak_factory_(this) { |
82 base::MessageLoop::current()->PostDelayedTask( | 82 base::MessageLoop::current()->PostDelayedTask( |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 class LocalTargetsUIHandler | 164 class LocalTargetsUIHandler |
165 : public DevToolsTargetsUIHandler, | 165 : public DevToolsTargetsUIHandler, |
166 public content::NotificationObserver { | 166 public content::NotificationObserver { |
167 public: | 167 public: |
168 explicit LocalTargetsUIHandler(const Callback& callback); | 168 explicit LocalTargetsUIHandler(const Callback& callback); |
169 ~LocalTargetsUIHandler() override; | 169 ~LocalTargetsUIHandler() override; |
170 | 170 |
171 // DevToolsTargetsUIHandler overrides. | 171 // DevToolsTargetsUIHandler overrides. |
172 void ForceUpdate() override; | 172 void ForceUpdate() override; |
173 | 173 |
174 private: | 174 private: |
175 // content::NotificationObserver overrides. | 175 // content::NotificationObserver overrides. |
176 void Observe(int type, | 176 void Observe(int type, |
177 const content::NotificationSource& source, | 177 const content::NotificationSource& source, |
178 const content::NotificationDetails& details) override; | 178 const content::NotificationDetails& details) override; |
179 | 179 |
180 void ScheduleUpdate(); | 180 void ScheduleUpdate(); |
181 void UpdateTargets(); | 181 void UpdateTargets(); |
182 void SendTargets(const DevToolsTargetImpl::List& targets); | 182 void SendTargets(const DevToolsTargetImpl::List& targets); |
183 | 183 |
184 content::NotificationRegistrar notification_registrar_; | 184 content::NotificationRegistrar notification_registrar_; |
185 scoped_ptr<CancelableTimer> timer_; | 185 scoped_ptr<CancelableTimer> timer_; |
186 scoped_refptr<WorkerObserver> observer_; | 186 scoped_refptr<WorkerObserver> observer_; |
187 base::WeakPtrFactory<LocalTargetsUIHandler> weak_factory_; | 187 base::WeakPtrFactory<LocalTargetsUIHandler> weak_factory_; |
188 }; | 188 }; |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
412 page_list->Append(target_data); | 412 page_list->Append(target_data); |
413 } | 413 } |
414 browser_list->Append(browser_data); | 414 browser_list->Append(browser_data); |
415 } | 415 } |
416 | 416 |
417 device_list.Append(device_data); | 417 device_list.Append(device_data); |
418 } | 418 } |
419 SendSerializedTargets(device_list); | 419 SendSerializedTargets(device_list); |
420 } | 420 } |
421 | 421 |
422 } // namespace | 422 } // namespace |
423 | 423 |
424 // DevToolsTargetsUIHandler --------------------------------------------------- | 424 // DevToolsTargetsUIHandler --------------------------------------------------- |
425 | 425 |
426 DevToolsTargetsUIHandler::DevToolsTargetsUIHandler( | 426 DevToolsTargetsUIHandler::DevToolsTargetsUIHandler( |
427 const std::string& source_id, | 427 const std::string& source_id, |
428 const Callback& callback) | 428 const Callback& callback) |
429 : source_id_(source_id), | 429 : source_id_(source_id), |
430 callback_(callback) { | 430 callback_(callback) { |
431 } | 431 } |
432 | 432 |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 } | 484 } |
485 | 485 |
486 void DevToolsTargetsUIHandler::SendSerializedTargets( | 486 void DevToolsTargetsUIHandler::SendSerializedTargets( |
487 const base::ListValue& list) { | 487 const base::ListValue& list) { |
488 callback_.Run(source_id_, list); | 488 callback_.Run(source_id_, list); |
489 } | 489 } |
490 | 490 |
491 void DevToolsTargetsUIHandler::ForceUpdate() { | 491 void DevToolsTargetsUIHandler::ForceUpdate() { |
492 } | 492 } |
493 | 493 |
| 494 #if !defined(OS_ANDROID) && !defined(OS_IOS) |
494 // PortForwardingStatusSerializer --------------------------------------------- | 495 // PortForwardingStatusSerializer --------------------------------------------- |
495 | 496 |
496 PortForwardingStatusSerializer::PortForwardingStatusSerializer( | 497 PortForwardingStatusSerializer::PortForwardingStatusSerializer( |
497 const Callback& callback, Profile* profile) | 498 const Callback& callback, Profile* profile) |
498 : callback_(callback), | 499 : callback_(callback), |
499 profile_(profile) { | 500 profile_(profile) { |
500 DevToolsAndroidBridge* android_bridge = | 501 DevToolsAndroidBridge* android_bridge = |
501 DevToolsAndroidBridge::Factory::GetForProfile(profile_); | 502 DevToolsAndroidBridge::Factory::GetForProfile(profile_); |
502 if (android_bridge) | 503 if (android_bridge) |
503 android_bridge->AddPortForwardingListener(this); | 504 android_bridge->AddPortForwardingListener(this); |
(...skipping 24 matching lines...) Expand all Loading... |
528 device_status_dict->SetString(kPortForwardingBrowserId, | 529 device_status_dict->SetString(kPortForwardingBrowserId, |
529 SerializeBrowserId(sit->first)); | 530 SerializeBrowserId(sit->first)); |
530 | 531 |
531 std::string device_id = base::StringPrintf( | 532 std::string device_id = base::StringPrintf( |
532 kAdbDeviceIdFormat, | 533 kAdbDeviceIdFormat, |
533 sit->first->serial().c_str()); | 534 sit->first->serial().c_str()); |
534 result.Set(device_id, device_status_dict); | 535 result.Set(device_id, device_status_dict); |
535 } | 536 } |
536 callback_.Run(result); | 537 callback_.Run(result); |
537 } | 538 } |
| 539 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) |
OLD | NEW |