| Index: chrome/browser/devtools/device/android_device_manager.h
|
| diff --git a/chrome/browser/devtools/device/android_device_manager.h b/chrome/browser/devtools/device/android_device_manager.h
|
| index fbc00cd722ee9c9aaae93c1a6b812aa9ac89bf8f..219e5ced10000c7246493bda731c2e409a88800c 100644
|
| --- a/chrome/browser/devtools/device/android_device_manager.h
|
| +++ b/chrome/browser/devtools/device/android_device_manager.h
|
| @@ -24,8 +24,7 @@
|
| public base::NonThreadSafe {
|
| public:
|
| typedef base::Callback<void(int, const std::string&)> CommandCallback;
|
| - typedef base::Callback<void(int result, scoped_ptr<net::StreamSocket>)>
|
| - SocketCallback;
|
| + typedef base::Callback<void(int result, net::StreamSocket*)> SocketCallback;
|
| typedef base::Callback<void(const std::vector<std::string>&)> SerialsCallback;
|
|
|
| struct BrowserInfo {
|
| @@ -54,21 +53,32 @@
|
|
|
| typedef base::Callback<void(const DeviceInfo&)> DeviceInfoCallback;
|
|
|
| - class AndroidWebSocket {
|
| + class AndroidWebSocket : public base::RefCountedThreadSafe<AndroidWebSocket> {
|
| public:
|
| class Delegate {
|
| public:
|
| virtual void OnSocketOpened() = 0;
|
| virtual void OnFrameRead(const std::string& message) = 0;
|
| - virtual void OnSocketClosed() = 0;
|
| + virtual void OnSocketClosed(bool closed_by_device) = 0;
|
|
|
| protected:
|
| virtual ~Delegate() {}
|
| };
|
|
|
| + AndroidWebSocket() {}
|
| +
|
| + virtual void Connect() = 0;
|
| + virtual void Disconnect() = 0;
|
| + virtual void SendFrame(const std::string& message) = 0;
|
| + virtual void ClearDelegate() = 0;
|
| +
|
| + protected:
|
| virtual ~AndroidWebSocket() {}
|
|
|
| - virtual void SendFrame(const std::string& message) = 0;
|
| + private:
|
| + friend class base::RefCountedThreadSafe<AndroidWebSocket>;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(AndroidWebSocket);
|
| };
|
|
|
| class DeviceProvider;
|
| @@ -93,7 +103,7 @@
|
| const std::string& url,
|
| const SocketCallback& callback);
|
|
|
| - AndroidWebSocket* CreateWebSocket(
|
| + scoped_refptr<AndroidWebSocket> CreateWebSocket(
|
| const std::string& socket_name,
|
| const std::string& url,
|
| AndroidWebSocket::Delegate* delegate);
|
|
|