| 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 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 void Stop() { | 112 void Stop() { |
| 113 DCHECK(!callback_.is_null()); | 113 DCHECK(!callback_.is_null()); |
| 114 callback_ = base::Closure(); | 114 callback_ = base::Closure(); |
| 115 BrowserThread::PostTask( | 115 BrowserThread::PostTask( |
| 116 BrowserThread::IO, FROM_HERE, | 116 BrowserThread::IO, FROM_HERE, |
| 117 base::Bind(&WorkerObserver::StopOnIOThread, this)); | 117 base::Bind(&WorkerObserver::StopOnIOThread, this)); |
| 118 } | 118 } |
| 119 | 119 |
| 120 private: | 120 private: |
| 121 friend class base::RefCountedThreadSafe<WorkerObserver>; | 121 friend class base::RefCountedThreadSafe<WorkerObserver>; |
| 122 virtual ~WorkerObserver() {} | 122 ~WorkerObserver() override {} |
| 123 | 123 |
| 124 // content::WorkerServiceObserver overrides: | 124 // content::WorkerServiceObserver overrides: |
| 125 virtual void WorkerCreated( | 125 void WorkerCreated(const GURL& url, |
| 126 const GURL& url, | 126 const base::string16& name, |
| 127 const base::string16& name, | 127 int process_id, |
| 128 int process_id, | 128 int route_id) override { |
| 129 int route_id) override { | |
| 130 NotifyOnIOThread(); | 129 NotifyOnIOThread(); |
| 131 } | 130 } |
| 132 | 131 |
| 133 virtual void WorkerDestroyed(int process_id, int route_id) override { | 132 void WorkerDestroyed(int process_id, int route_id) override { |
| 134 NotifyOnIOThread(); | 133 NotifyOnIOThread(); |
| 135 } | 134 } |
| 136 | 135 |
| 137 void StartOnIOThread() { | 136 void StartOnIOThread() { |
| 138 content::WorkerService::GetInstance()->AddObserver(this); | 137 content::WorkerService::GetInstance()->AddObserver(this); |
| 139 } | 138 } |
| 140 | 139 |
| 141 void StopOnIOThread() { | 140 void StopOnIOThread() { |
| 142 content::WorkerService::GetInstance()->RemoveObserver(this); | 141 content::WorkerService::GetInstance()->RemoveObserver(this); |
| 143 } | 142 } |
| (...skipping 16 matching lines...) Expand all Loading... |
| 160 base::Closure callback_; | 159 base::Closure callback_; |
| 161 }; | 160 }; |
| 162 | 161 |
| 163 // LocalTargetsUIHandler --------------------------------------------- | 162 // LocalTargetsUIHandler --------------------------------------------- |
| 164 | 163 |
| 165 class LocalTargetsUIHandler | 164 class LocalTargetsUIHandler |
| 166 : public DevToolsTargetsUIHandler, | 165 : public DevToolsTargetsUIHandler, |
| 167 public content::NotificationObserver { | 166 public content::NotificationObserver { |
| 168 public: | 167 public: |
| 169 explicit LocalTargetsUIHandler(const Callback& callback); | 168 explicit LocalTargetsUIHandler(const Callback& callback); |
| 170 virtual ~LocalTargetsUIHandler(); | 169 ~LocalTargetsUIHandler() override; |
| 171 | 170 |
| 172 // DevToolsTargetsUIHandler overrides. | 171 // DevToolsTargetsUIHandler overrides. |
| 173 virtual void ForceUpdate() override; | 172 void ForceUpdate() override; |
| 174 | 173 |
| 175 private: | 174 private: |
| 176 // content::NotificationObserver overrides. | 175 // content::NotificationObserver overrides. |
| 177 virtual void Observe(int type, | 176 void Observe(int type, |
| 178 const content::NotificationSource& source, | 177 const content::NotificationSource& source, |
| 179 const content::NotificationDetails& details) override; | 178 const content::NotificationDetails& details) override; |
| 180 | 179 |
| 181 void ScheduleUpdate(); | 180 void ScheduleUpdate(); |
| 182 void UpdateTargets(); | 181 void UpdateTargets(); |
| 183 void SendTargets(const DevToolsTargetImpl::List& targets); | 182 void SendTargets(const DevToolsTargetImpl::List& targets); |
| 184 | 183 |
| 185 content::NotificationRegistrar notification_registrar_; | 184 content::NotificationRegistrar notification_registrar_; |
| 186 scoped_ptr<CancelableTimer> timer_; | 185 scoped_ptr<CancelableTimer> timer_; |
| 187 scoped_refptr<WorkerObserver> observer_; | 186 scoped_refptr<WorkerObserver> observer_; |
| 188 base::WeakPtrFactory<LocalTargetsUIHandler> weak_factory_; | 187 base::WeakPtrFactory<LocalTargetsUIHandler> weak_factory_; |
| 189 }; | 188 }; |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 SendSerializedTargets(list_value); | 270 SendSerializedTargets(list_value); |
| 272 } | 271 } |
| 273 | 272 |
| 274 // AdbTargetsUIHandler -------------------------------------------------------- | 273 // AdbTargetsUIHandler -------------------------------------------------------- |
| 275 | 274 |
| 276 class AdbTargetsUIHandler | 275 class AdbTargetsUIHandler |
| 277 : public DevToolsTargetsUIHandler, | 276 : public DevToolsTargetsUIHandler, |
| 278 public DevToolsAndroidBridge::DeviceListListener { | 277 public DevToolsAndroidBridge::DeviceListListener { |
| 279 public: | 278 public: |
| 280 AdbTargetsUIHandler(const Callback& callback, Profile* profile); | 279 AdbTargetsUIHandler(const Callback& callback, Profile* profile); |
| 281 virtual ~AdbTargetsUIHandler(); | 280 ~AdbTargetsUIHandler() override; |
| 282 | 281 |
| 283 virtual void Open(const std::string& browser_id, | 282 void Open(const std::string& browser_id, |
| 284 const std::string& url, | 283 const std::string& url, |
| 285 const DevToolsTargetsUIHandler::TargetCallback&) override; | 284 const DevToolsTargetsUIHandler::TargetCallback&) override; |
| 286 | 285 |
| 287 virtual scoped_refptr<content::DevToolsAgentHost> GetBrowserAgentHost( | 286 scoped_refptr<content::DevToolsAgentHost> GetBrowserAgentHost( |
| 288 const std::string& browser_id) override; | 287 const std::string& browser_id) override; |
| 289 | 288 |
| 290 private: | 289 private: |
| 291 // DevToolsAndroidBridge::Listener overrides. | 290 // DevToolsAndroidBridge::Listener overrides. |
| 292 virtual void DeviceListChanged( | 291 void DeviceListChanged( |
| 293 const DevToolsAndroidBridge::RemoteDevices& devices) override; | 292 const DevToolsAndroidBridge::RemoteDevices& devices) override; |
| 294 | 293 |
| 295 DevToolsAndroidBridge* GetAndroidBridge(); | 294 DevToolsAndroidBridge* GetAndroidBridge(); |
| 296 | 295 |
| 297 Profile* profile_; | 296 Profile* profile_; |
| 298 scoped_refptr<DevToolsAndroidBridge> android_bridge_; | 297 scoped_refptr<DevToolsAndroidBridge> android_bridge_; |
| 299 | 298 |
| 300 typedef std::map<std::string, | 299 typedef std::map<std::string, |
| 301 scoped_refptr<DevToolsAndroidBridge::RemoteBrowser> > RemoteBrowsers; | 300 scoped_refptr<DevToolsAndroidBridge::RemoteBrowser> > RemoteBrowsers; |
| 302 RemoteBrowsers remote_browsers_; | 301 RemoteBrowsers remote_browsers_; |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 529 device_status_dict->SetString(kPortForwardingBrowserId, | 528 device_status_dict->SetString(kPortForwardingBrowserId, |
| 530 SerializeBrowserId(sit->first)); | 529 SerializeBrowserId(sit->first)); |
| 531 | 530 |
| 532 std::string device_id = base::StringPrintf( | 531 std::string device_id = base::StringPrintf( |
| 533 kAdbDeviceIdFormat, | 532 kAdbDeviceIdFormat, |
| 534 sit->first->serial().c_str()); | 533 sit->first->serial().c_str()); |
| 535 result.Set(device_id, device_status_dict); | 534 result.Set(device_id, device_status_dict); |
| 536 } | 535 } |
| 537 callback_.Run(result); | 536 callback_.Run(result); |
| 538 } | 537 } |
| OLD | NEW |