Chromium Code Reviews| Index: chrome/browser/devtools/devtools_adb_bridge.h |
| diff --git a/chrome/browser/devtools/devtools_adb_bridge.h b/chrome/browser/devtools/devtools_adb_bridge.h |
| index 5774a0114d75b894d495ddd7f683db3616eee1b2..bbf4c1ca3e3f73466e43c61ca318108d1d10bdae 100644 |
| --- a/chrome/browser/devtools/devtools_adb_bridge.h |
| +++ b/chrome/browser/devtools/devtools_adb_bridge.h |
| @@ -12,6 +12,7 @@ |
| #include "base/memory/ref_counted.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "chrome/browser/devtools/adb/android_usb_device.h" |
| +#include "chrome/browser/devtools/devtools_device_provider.h" |
| #include "components/browser_context_keyed_service/browser_context_keyed_service.h" |
| #include "components/browser_context_keyed_service/browser_context_keyed_service_factory.h" |
| #include "content/public/browser/browser_thread.h" |
| @@ -39,9 +40,6 @@ class Profile; |
| // The format used for constructing DevTools server socket names. |
| extern const char kDevToolsChannelNameFormat[]; |
| -typedef base::Callback<void(int, const std::string&)> CommandCallback; |
| -typedef base::Callback<void(int result, net::StreamSocket*)> SocketCallback; |
| - |
| class DevToolsAdbBridge |
| : public base::RefCountedThreadSafe< |
| DevToolsAdbBridge, |
| @@ -50,9 +48,11 @@ class DevToolsAdbBridge |
| typedef base::Callback<void(int result, |
| const std::string& response)> Callback; |
| + typedef std::vector<scoped_refptr<DevToolsDeviceProvider>> DeviceProviders; |
| + |
| class Wrapper : public BrowserContextKeyedService { |
| public: |
| - explicit Wrapper(Profile* profile); |
| + explicit Wrapper(Profile* profile, const DeviceProviders& device_providers); |
| virtual ~Wrapper(); |
| DevToolsAdbBridge* Get(); |
| @@ -70,7 +70,6 @@ class DevToolsAdbBridge |
| private: |
| friend struct DefaultSingletonTraits<Factory>; |
| - friend class DevToolsAdbBridge; |
| Factory(); |
| virtual ~Factory(); |
| @@ -81,11 +80,9 @@ class DevToolsAdbBridge |
| DISALLOW_COPY_AND_ASSIGN(Factory); |
| }; |
| - class AndroidDevice; |
| - |
| class RemotePage : public base::RefCounted<RemotePage> { |
| public: |
| - RemotePage(scoped_refptr<DevToolsAdbBridge> bridge, |
| + RemotePage(scoped_refptr<RefCountedAdbThread> adb_thread, |
|
Vladislav Kaznacheev
2013/10/16 11:27:04
This patch is obviously not rebased on the latest
Dmitry Zvorygin
2013/10/17 16:19:37
Done.
|
| scoped_refptr<AndroidDevice> device, |
| const std::string& socket, |
| const base::DictionaryValue& value); |
| @@ -116,7 +113,7 @@ class DevToolsAdbBridge |
| void InspectOnUIThread(Profile* profile); |
| - scoped_refptr<DevToolsAdbBridge> bridge_; |
| + scoped_refptr<RefCountedAdbThread> adb_thread_; |
| scoped_refptr<AndroidDevice> device_; |
| std::string socket_; |
| std::string id_; |
| @@ -133,9 +130,10 @@ class DevToolsAdbBridge |
| class RemoteBrowser : public base::RefCounted<RemoteBrowser> { |
| public: |
| - RemoteBrowser(scoped_refptr<DevToolsAdbBridge> bridge, |
| - scoped_refptr<AndroidDevice> device, |
| - const std::string& socket); |
| + RemoteBrowser( |
| + scoped_refptr<RefCountedAdbThread> adb_thread, |
| + scoped_refptr<AndroidDevice> device, |
| + const std::string& socket); |
| scoped_refptr<AndroidDevice> device() { return device_; } |
| std::string socket() { return socket_; } |
| @@ -164,7 +162,7 @@ class DevToolsAdbBridge |
| void PageCreatedOnUIThread( |
| const std::string& response, const std::string& url); |
| - scoped_refptr<DevToolsAdbBridge> bridge_; |
| + scoped_refptr<RefCountedAdbThread> adb_thread_; |
| scoped_refptr<AndroidDevice> device_; |
| const std::string socket_; |
| std::string product_; |
| @@ -180,8 +178,7 @@ class DevToolsAdbBridge |
| class RemoteDevice : public base::RefCounted<RemoteDevice> { |
| public: |
| - explicit RemoteDevice(scoped_refptr<DevToolsAdbBridge> bridge, |
| - scoped_refptr<AndroidDevice> device); |
| + explicit RemoteDevice(scoped_refptr<AndroidDevice> device); |
| scoped_refptr<AndroidDevice> device() { return device_; } |
| std::string serial() { return device_->serial(); } |
| @@ -199,7 +196,6 @@ class DevToolsAdbBridge |
| friend class base::RefCounted<RemoteDevice>; |
| virtual ~RemoteDevice(); |
| - scoped_refptr<DevToolsAdbBridge> bridge_; |
| scoped_refptr<AndroidDevice> device_; |
| RemoteBrowsers browsers_; |
| gfx::Size screen_size_; |
| @@ -209,47 +205,6 @@ class DevToolsAdbBridge |
| typedef std::vector<scoped_refptr<RemoteDevice> > RemoteDevices; |
| - class AndroidDevice : public base::RefCounted<AndroidDevice> { |
| - public: |
| - explicit AndroidDevice(const std::string& serial); |
| - |
| - virtual void RunCommand(const std::string& command, |
| - const CommandCallback& callback) = 0; |
| - virtual void OpenSocket(const std::string& socket_name, |
| - const SocketCallback& callback) = 0; |
| - void HttpQuery(const std::string& la_name, |
| - const std::string& request, |
| - const CommandCallback& callback); |
| - void HttpUpgrade(const std::string& la_name, |
| - const std::string& request, |
| - const SocketCallback& callback); |
| - |
| - std::string serial() { return serial_; } |
| - |
| - std::string model() { return model_; } |
| - void set_model(const std::string& model) { model_ = model; } |
| - |
| - protected: |
| - friend class base::RefCounted<AndroidDevice>; |
| - virtual ~AndroidDevice(); |
| - |
| - private: |
| - void OnHttpSocketOpened(const std::string& request, |
| - const CommandCallback& callback, |
| - int result, |
| - net::StreamSocket* socket); |
| - void OnHttpSocketOpened2(const std::string& request, |
| - const SocketCallback& callback, |
| - int result, |
| - net::StreamSocket* socket); |
| - |
| - std::string serial_; |
| - std::string model_; |
| - |
| - DISALLOW_COPY_AND_ASSIGN(AndroidDevice); |
| - }; |
| - |
| - typedef std::vector<scoped_refptr<AndroidDevice> > AndroidDevices; |
| typedef base::Callback<void(const AndroidDevices&)> AndroidDevicesCallback; |
| class Listener { |
| @@ -259,33 +214,18 @@ class DevToolsAdbBridge |
| virtual ~Listener() {} |
| }; |
| - explicit DevToolsAdbBridge(Profile* profile); |
| + explicit DevToolsAdbBridge(Profile* profile, |
|
Vladislav Kaznacheev
2013/10/16 11:27:04
explicit is no longer needed
Dmitry Zvorygin
2013/10/17 16:19:37
Done.
|
| + const DeviceProviders& device_providers_); |
|
Vladislav Kaznacheev
2013/10/16 11:27:04
indent
Dmitry Zvorygin
2013/10/17 16:19:37
Done.
|
| void AddListener(Listener* listener); |
| void RemoveListener(Listener* listener); |
| - base::MessageLoop* GetAdbMessageLoop(); |
| private: |
| friend struct content::BrowserThread::DeleteOnThread< |
| content::BrowserThread::UI>; |
| friend class base::DeleteHelper<DevToolsAdbBridge>; |
| - class RefCountedAdbThread : public base::RefCounted<RefCountedAdbThread> { |
| - public: |
| - static scoped_refptr<RefCountedAdbThread> GetInstance(); |
| - RefCountedAdbThread(); |
| - base::MessageLoop* message_loop(); |
| - |
| - private: |
| - friend class base::RefCounted<RefCountedAdbThread>; |
| - static DevToolsAdbBridge::RefCountedAdbThread* instance_; |
| - static void StopThread(base::Thread* thread); |
| - |
| - virtual ~RefCountedAdbThread(); |
| - base::Thread* thread_; |
| - }; |
| - |
| virtual ~DevToolsAdbBridge(); |
| void RequestRemoteDevices(); |
| @@ -293,6 +233,7 @@ class DevToolsAdbBridge |
| Profile* profile_; |
| scoped_refptr<RefCountedAdbThread> adb_thread_; |
| + DeviceProviders device_providers_; |
| bool has_message_loop_; |
| scoped_ptr<crypto::RSAPrivateKey> rsa_key_; |
| typedef std::vector<Listener*> Listeners; |