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

Side by Side Diff: chrome/browser/devtools/device/self_device_provider.cc

Issue 287643002: DevTools: Partially redesigned DevToolsAndroidBridge and AndroidDeviceManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Moved Device::OpenSocket callback to HandlerThread Created 6 years, 6 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/device/self_device_provider.h" 5 #include "chrome/browser/devtools/device/self_device_provider.h"
6 6
7 #include "base/strings/string_number_conversions.h" 7 #include "base/strings/string_number_conversions.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "net/socket/tcp_client_socket.h" 9 #include "net/socket/tcp_client_socket.h"
10 10
11 namespace { 11 namespace {
12 12
13 const char kDeviceModel[] = "Local Chrome"; 13 const char kDeviceModel[] = "Local Chrome";
14 const char kBrowserName[] = "Chrome"; 14 const char kBrowserName[] = "Chrome";
15 const char kLocalhost[] = "127.0.0.1"; 15 const char kLocalhost[] = "127.0.0.1";
16 const char kSerial[] = "local";
16 17
17 class SelfAsDevice : public AndroidDeviceManager::Device { 18 static void RunSocketCallback(
18 public: 19 const AndroidDeviceManager::SocketCallback& callback,
19 explicit SelfAsDevice(int port); 20 net::StreamSocket* socket,
21 int result) {
22 callback.Run(result, socket);
23 }
20 24
21 virtual void QueryDeviceInfo(const DeviceInfoCallback& callback) OVERRIDE; 25 } // namespace
22 26
23 virtual void OpenSocket(const std::string& socket_name, 27 SelfAsDeviceProvider::SelfAsDeviceProvider(int port) : port_(port) {
24 const SocketCallback& callback) OVERRIDE; 28 }
25 private:
26 virtual ~SelfAsDevice() {}
27 29
28 int port_; 30 void SelfAsDeviceProvider::QueryDevices(const SerialsCallback& callback) {
29 }; 31 std::vector<std::string> result;
32 result.push_back(kSerial);
33 callback.Run(result);
34 }
30 35
31 SelfAsDevice::SelfAsDevice(int port) 36 void SelfAsDeviceProvider::QueryDeviceInfo(const std::string& serial,
32 : Device("local", true), 37 const DeviceInfoCallback& callback) {
33 port_(port)
34 {}
35
36 void SelfAsDevice::QueryDeviceInfo(const DeviceInfoCallback& callback) {
37 AndroidDeviceManager::DeviceInfo device_info; 38 AndroidDeviceManager::DeviceInfo device_info;
38 device_info.model = kDeviceModel; 39 device_info.model = kDeviceModel;
40 device_info.connected = true;
39 41
40 AndroidDeviceManager::BrowserInfo browser_info; 42 AndroidDeviceManager::BrowserInfo browser_info;
41 browser_info.socket_name = base::IntToString(port_); 43 browser_info.socket_name = base::IntToString(port_);
42 browser_info.display_name = kBrowserName; 44 browser_info.display_name = kBrowserName;
43 browser_info.type = AndroidDeviceManager::BrowserInfo::kTypeChrome; 45 browser_info.type = AndroidDeviceManager::BrowserInfo::kTypeChrome;
44 46
45 device_info.browser_info.push_back(browser_info); 47 device_info.browser_info.push_back(browser_info);
46 48
47 base::MessageLoop::current()->PostTask( 49 base::MessageLoop::current()->PostTask(
48 FROM_HERE, base::Bind(callback, device_info)); 50 FROM_HERE, base::Bind(callback, device_info));
49 } 51 }
50 52
51 static void RunSocketCallback( 53 void SelfAsDeviceProvider::OpenSocket(const std::string& serial,
52 const AndroidDeviceManager::SocketCallback& callback, 54 const std::string& socket_name,
53 net::StreamSocket* socket, 55 const SocketCallback& callback) {
54 int result) {
55 callback.Run(result, socket);
56 }
57
58 void SelfAsDevice::OpenSocket(const std::string& socket_name,
59 const SocketCallback& callback) {
60 DCHECK(CalledOnValidThread());
61 // Use plain socket for remote debugging and port forwarding on Desktop 56 // Use plain socket for remote debugging and port forwarding on Desktop
62 // (debugging purposes). 57 // (debugging purposes).
63 net::IPAddressNumber ip_number; 58 net::IPAddressNumber ip_number;
64 net::ParseIPLiteralToNumber(kLocalhost, &ip_number); 59 net::ParseIPLiteralToNumber(kLocalhost, &ip_number);
65 int port; 60 int port;
66 base::StringToInt(socket_name, &port); 61 base::StringToInt(socket_name, &port);
67 net::AddressList address_list = 62 net::AddressList address_list =
68 net::AddressList::CreateFromIPAddress(ip_number, port); 63 net::AddressList::CreateFromIPAddress(ip_number, port);
69 net::TCPClientSocket* socket = new net::TCPClientSocket( 64 net::TCPClientSocket* socket = new net::TCPClientSocket(
70 address_list, NULL, net::NetLog::Source()); 65 address_list, NULL, net::NetLog::Source());
71 socket->Connect(base::Bind(&RunSocketCallback, callback, socket)); 66 socket->Connect(base::Bind(&RunSocketCallback, callback, socket));
72 } 67 }
73
74 } // namespace
75
76 SelfAsDeviceProvider::SelfAsDeviceProvider(int port)
77 : port_(port) {
78 }
79
80 void SelfAsDeviceProvider::QueryDevices(const QueryDevicesCallback& callback) {
81 AndroidDeviceManager::Devices result;
82 result.push_back(new SelfAsDevice(port_));
83 callback.Run(result);
84 }
OLDNEW
« no previous file with comments | « chrome/browser/devtools/device/self_device_provider.h ('k') | chrome/browser/devtools/device/usb/usb_device_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698