| 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 |