| 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..53be07736ee953f9e7ddf1f6bc6fe046e7d7f71e 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 = 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
|
|
|