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

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

Issue 26568004: Introduced AndroidDeviceProvider to simplify testing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Made AndroidDevice::HttpQuery virtual for test purposes. Created 7 years, 2 months 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 | Annotate | Revision Log
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/port_forwarding_controller.h" 5 #include "chrome/browser/devtools/port_forwarding_controller.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 265
266 } // namespace 266 } // namespace
267 267
268 class PortForwardingController::Connection 268 class PortForwardingController::Connection
269 : public AdbWebSocket::Delegate, 269 : public AdbWebSocket::Delegate,
270 public base::RefCountedThreadSafe< 270 public base::RefCountedThreadSafe<
271 Connection, 271 Connection,
272 content::BrowserThread::DeleteOnUIThread> { 272 content::BrowserThread::DeleteOnUIThread> {
273 public: 273 public:
274 Connection(Registry* registry, 274 Connection(Registry* registry,
275 scoped_refptr<DevToolsAdbBridge::AndroidDevice> device, 275 scoped_refptr<AndroidDevice> device,
276 const std::string& socket, 276 const std::string& socket,
277 scoped_refptr<DevToolsAdbBridge::RefCountedAdbThread> adb_thread, 277 scoped_refptr<RefCountedAdbThread> adb_thread,
278 PrefService* pref_service); 278 PrefService* pref_service);
279 279
280 const PortStatusMap& GetPortStatusMap(); 280 const PortStatusMap& GetPortStatusMap();
281 281
282 void Shutdown(); 282 void Shutdown();
283 283
284 private: 284 private:
285 friend struct content::BrowserThread::DeleteOnThread< 285 friend struct content::BrowserThread::DeleteOnThread<
286 content::BrowserThread::UI>; 286 content::BrowserThread::UI>;
287 friend class base::DeleteHelper<Connection>; 287 friend class base::DeleteHelper<Connection>;
(...skipping 22 matching lines...) Expand all
310 void UpdatePortStatusMap(); 310 void UpdatePortStatusMap();
311 void UpdatePortStatusMapOnUIThread(const PortStatusMap& status_map); 311 void UpdatePortStatusMapOnUIThread(const PortStatusMap& status_map);
312 312
313 // AdbWebSocket::Delegate implementation: 313 // AdbWebSocket::Delegate implementation:
314 virtual void OnSocketOpened() OVERRIDE; 314 virtual void OnSocketOpened() OVERRIDE;
315 virtual void OnFrameRead(const std::string& message) OVERRIDE; 315 virtual void OnFrameRead(const std::string& message) OVERRIDE;
316 virtual void OnSocketClosed(bool closed_by_device) OVERRIDE; 316 virtual void OnSocketClosed(bool closed_by_device) OVERRIDE;
317 virtual bool ProcessIncomingMessage(const std::string& message) OVERRIDE; 317 virtual bool ProcessIncomingMessage(const std::string& message) OVERRIDE;
318 318
319 PortForwardingController::Registry* registry_; 319 PortForwardingController::Registry* registry_;
320 scoped_refptr<DevToolsAdbBridge::AndroidDevice> device_; 320 scoped_refptr<AndroidDevice> device_;
321 scoped_refptr<DevToolsAdbBridge::RefCountedAdbThread> adb_thread_; 321 scoped_refptr<RefCountedAdbThread> adb_thread_;
322 PrefChangeRegistrar pref_change_registrar_; 322 PrefChangeRegistrar pref_change_registrar_;
323 scoped_refptr<AdbWebSocket> web_socket_; 323 scoped_refptr<AdbWebSocket> web_socket_;
324 int command_id_; 324 int command_id_;
325 ForwardingMap forwarding_map_; 325 ForwardingMap forwarding_map_;
326 CommandCallbackMap pending_responses_; 326 CommandCallbackMap pending_responses_;
327 PortStatusMap port_status_; 327 PortStatusMap port_status_;
328 PortStatusMap port_status_on_ui_thread_; 328 PortStatusMap port_status_on_ui_thread_;
329 329
330 DISALLOW_COPY_AND_ASSIGN(Connection); 330 DISALLOW_COPY_AND_ASSIGN(Connection);
331 }; 331 };
332 332
333 PortForwardingController::Connection::Connection( 333 PortForwardingController::Connection::Connection(
334 Registry* registry, 334 Registry* registry,
335 scoped_refptr<DevToolsAdbBridge::AndroidDevice> device, 335 scoped_refptr<AndroidDevice> device,
336 const std::string& socket, 336 const std::string& socket,
337 scoped_refptr<DevToolsAdbBridge::RefCountedAdbThread> adb_thread, 337 scoped_refptr<RefCountedAdbThread> adb_thread,
338 PrefService* pref_service) 338 PrefService* pref_service)
339 : registry_(registry), 339 : registry_(registry),
340 device_(device), 340 device_(device),
341 adb_thread_(adb_thread), 341 adb_thread_(adb_thread),
342 command_id_(0) { 342 command_id_(0) {
343 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 343 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
344 pref_change_registrar_.Init(pref_service); 344 pref_change_registrar_.Init(pref_service);
345 (*registry_)[device_->serial()] = this; 345 (*registry_)[device_->serial()] = this;
346 web_socket_ = new AdbWebSocket( 346 web_socket_ = new AdbWebSocket(
347 device, socket, kDevToolsRemoteBrowserTarget, 347 device, socket, kDevToolsRemoteBrowserTarget,
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 572
573 SocketTunnel* tunnel = new SocketTunnel(location, 573 SocketTunnel* tunnel = new SocketTunnel(location,
574 base::Bind(&Connection::UpdateSocketCount, this, port)); 574 base::Bind(&Connection::UpdateSocketCount, this, port));
575 575
576 device_->OpenSocket(connection_id.c_str(), 576 device_->OpenSocket(connection_id.c_str(),
577 base::Bind(&SocketTunnel::Start, base::Unretained(tunnel))); 577 base::Bind(&SocketTunnel::Start, base::Unretained(tunnel)));
578 return true; 578 return true;
579 } 579 }
580 580
581 PortForwardingController::PortForwardingController(PrefService* pref_service) 581 PortForwardingController::PortForwardingController(PrefService* pref_service)
582 : adb_thread_(DevToolsAdbBridge::RefCountedAdbThread::GetInstance()), 582 : adb_thread_(RefCountedAdbThread::GetInstance()),
583 pref_service_(pref_service) { 583 pref_service_(pref_service) {
584 } 584 }
585 585
586 PortForwardingController::~PortForwardingController() { 586 PortForwardingController::~PortForwardingController() {
587 for (Registry::iterator it = registry_.begin(); it != registry_.end(); ++it) 587 for (Registry::iterator it = registry_.begin(); it != registry_.end(); ++it)
588 it->second->Shutdown(); 588 it->second->Shutdown();
589 } 589 }
590 590
591 PortForwardingController::DevicesStatus 591 PortForwardingController::DevicesStatus
592 PortForwardingController::UpdateDeviceList( 592 PortForwardingController::UpdateDeviceList(
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 BrowserContextDependencyManager::GetInstance()) {} 631 BrowserContextDependencyManager::GetInstance()) {}
632 632
633 PortForwardingController::Factory::~Factory() {} 633 PortForwardingController::Factory::~Factory() {}
634 634
635 BrowserContextKeyedService* 635 BrowserContextKeyedService*
636 PortForwardingController::Factory::BuildServiceInstanceFor( 636 PortForwardingController::Factory::BuildServiceInstanceFor(
637 content::BrowserContext* context) const { 637 content::BrowserContext* context) const {
638 Profile* profile = Profile::FromBrowserContext(context); 638 Profile* profile = Profile::FromBrowserContext(context);
639 return new PortForwardingController(profile->GetPrefs()); 639 return new PortForwardingController(profile->GetPrefs());
640 } 640 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698