Index: chrome/browser/devtools/device/self_device_provider.cc |
diff --git a/chrome/browser/devtools/device/self_device_provider.cc b/chrome/browser/devtools/device/self_device_provider.cc |
index fb782fcbdaaefaa7c00e5d5ff0443729c355d87e..24fa6ca4120e0e4dba4956ad4e39d8cb1f75e6cb 100644 |
--- a/chrome/browser/devtools/device/self_device_provider.cc |
+++ b/chrome/browser/devtools/device/self_device_provider.cc |
@@ -10,32 +10,19 @@ |
namespace { |
-const char kDeviceModelCommand[] = "shell:getprop ro.product.model"; |
-const char kOpenedUnixSocketsCommand[] = "shell:cat /proc/net/unix"; |
-const char kOpenedUnixSocketsResponse[] = |
- "Num RefCount Protocol Flags Type St Inode Path\n" |
- "00000000: 00000002 00000000 00010000 0001 01 20894 @%s\n"; |
-const char kRemoteDebuggingSocket[] = "chrome_devtools_remote"; |
- |
const char kDeviceModel[] = "Local Chrome"; |
+const char kBrowserName[] = "Chrome"; |
const char kLocalhost[] = "127.0.0.1"; |
class SelfAsDevice : public AndroidDeviceManager::Device { |
public: |
explicit SelfAsDevice(int port); |
- virtual void RunCommand(const std::string& command, |
- const CommandCallback& callback) OVERRIDE; |
+ virtual void QueryDeviceInfo(const DeviceInfoCallback& callback) OVERRIDE; |
+ |
virtual void OpenSocket(const std::string& socket_name, |
const SocketCallback& callback) OVERRIDE; |
private: |
- void RunCommandCallback(const CommandCallback& callback, |
- const std::string& response, |
- int result); |
- |
- void RunSocketCallback(const SocketCallback& callback, |
- net::StreamSocket* socket, |
- int result); |
virtual ~SelfAsDevice() {} |
int port_; |
@@ -46,32 +33,26 @@ SelfAsDevice::SelfAsDevice(int port) |
port_(port) |
{} |
-void SelfAsDevice::RunCommandCallback(const CommandCallback& callback, |
- const std::string& response, |
- int result) { |
- callback.Run(result, response); |
-} |
+void SelfAsDevice::QueryDeviceInfo(const DeviceInfoCallback& callback) { |
+ AndroidDeviceManager::DeviceInfo device_info; |
+ device_info.model = kDeviceModel; |
-void SelfAsDevice::RunSocketCallback(const SocketCallback& callback, |
- net::StreamSocket* socket, |
- int result) { |
- callback.Run(result, socket); |
+ AndroidDeviceManager::BrowserInfo browser_info; |
+ browser_info.socket_name = base::IntToString(port_); |
+ browser_info.display_name = kBrowserName; |
+ browser_info.type = AndroidDeviceManager::BrowserInfo::kTypeChrome; |
+ |
+ device_info.browser_info.push_back(browser_info); |
+ |
+ base::MessageLoop::current()->PostTask( |
+ FROM_HERE, base::Bind(callback, device_info)); |
} |
-void SelfAsDevice::RunCommand(const std::string& command, |
- const CommandCallback& callback) { |
- DCHECK(CalledOnValidThread()); |
- std::string response; |
- if (command == kDeviceModelCommand) { |
- response = kDeviceModel; |
- } else if (command == kOpenedUnixSocketsCommand) { |
- response = base::StringPrintf(kOpenedUnixSocketsResponse, |
- kRemoteDebuggingSocket); |
- } |
- |
- base::MessageLoop::current()->PostTask(FROM_HERE, |
- base::Bind(&SelfAsDevice::RunCommandCallback, this, callback, |
- response, 0)); |
+static void RunSocketCallback( |
+ const AndroidDeviceManager::SocketCallback& callback, |
+ net::StreamSocket* socket, |
+ int result) { |
+ callback.Run(result, socket); |
} |
void SelfAsDevice::OpenSocket(const std::string& socket_name, |
@@ -81,19 +62,13 @@ void SelfAsDevice::OpenSocket(const std::string& socket_name, |
// (debugging purposes). |
net::IPAddressNumber ip_number; |
net::ParseIPLiteralToNumber(kLocalhost, &ip_number); |
- |
- int port = 0; |
- if (socket_name == kRemoteDebuggingSocket) |
- port = port_; |
- else |
- base::StringToInt(socket_name, &port); |
- |
+ int port; |
+ base::StringToInt(socket_name, &port); |
net::AddressList address_list = |
net::AddressList::CreateFromIPAddress(ip_number, port); |
net::TCPClientSocket* socket = new net::TCPClientSocket( |
address_list, NULL, net::NetLog::Source()); |
- socket->Connect(base::Bind(&SelfAsDevice::RunSocketCallback, this, callback, |
- socket)); |
+ socket->Connect(base::Bind(&RunSocketCallback, callback, socket)); |
} |
} // namespace |