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

Unified Diff: chrome/browser/devtools/device/self_device_provider.cc

Issue 1224743002: DevTools: allow to pass list of remote debugging targets as command line argument (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed port forwarding test Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
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 d4b6bf40379bb04c1e01c5dc8e96d42d06a8bca5..326bbcfdb78bba88c2777755fdb5fdb33c7894de 100644
--- a/chrome/browser/devtools/device/self_device_provider.cc
+++ b/chrome/browser/devtools/device/self_device_provider.cc
@@ -4,6 +4,8 @@
#include "chrome/browser/devtools/device/self_device_provider.h"
+#include <algorithm>
+
#include "base/location.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/string_number_conversions.h"
@@ -15,8 +17,6 @@ namespace {
const char kDeviceModel[] = "Local Chrome";
dgozman 2015/07/06 10:08:34 It's not Chrome anymore, let's update.
yurys 2015/07/06 12:49:00 Done.
const char kBrowserName[] = "Chrome";
dgozman 2015/07/06 10:08:34 ditto
yurys 2015/07/06 12:49:00 Done.
-const char kLocalhost[] = "127.0.0.1";
-const char kSerial[] = "local";
static void RunSocketCallback(
const AndroidDeviceManager::SocketCallback& callback,
@@ -27,12 +27,19 @@ static void RunSocketCallback(
} // namespace
-SelfAsDeviceProvider::SelfAsDeviceProvider(int port) : port_(port) {
+SelfAsDeviceProvider::SelfAsDeviceProvider(const RemoteTargets& targets)
+ : targets_(targets) {
}
void SelfAsDeviceProvider::QueryDevices(const SerialsCallback& callback) {
std::vector<std::string> result;
- result.push_back(kSerial);
+ for (const net::HostPortPair& target : targets_) {
+ const std::string& host = target.host();
+ if (std::find(result.begin(), result.end(), host) != result.end()) {
dgozman 2015/07/06 10:08:34 nit: we don't usually wrap one-liners with {}
yurys 2015/07/06 12:49:00 Done.
+ continue;
+ }
+ result.push_back(host);
+ }
callback.Run(result);
}
@@ -42,12 +49,17 @@ void SelfAsDeviceProvider::QueryDeviceInfo(const std::string& serial,
device_info.model = kDeviceModel;
device_info.connected = true;
- AndroidDeviceManager::BrowserInfo browser_info;
- browser_info.socket_name = base::IntToString(port_);
- browser_info.display_name = kBrowserName;
- browser_info.type = AndroidDeviceManager::BrowserInfo::kTypeChrome;
+ for (const net::HostPortPair& target : targets_) {
+ if (serial != target.host()) {
pfeldman 2015/07/06 10:10:04 ditto
yurys 2015/07/06 12:49:00 Done.
+ continue;
+ }
+ AndroidDeviceManager::BrowserInfo browser_info;
+ browser_info.socket_name = base::IntToString(target.port());
+ browser_info.display_name = kBrowserName;
+ browser_info.type = AndroidDeviceManager::BrowserInfo::kTypeChrome;
- device_info.browser_info.push_back(browser_info);
+ device_info.browser_info.push_back(browser_info);
+ }
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(callback, device_info));
@@ -59,7 +71,9 @@ void SelfAsDeviceProvider::OpenSocket(const std::string& serial,
// Use plain socket for remote debugging and port forwarding on Desktop
// (debugging purposes).
net::IPAddressNumber ip_number;
- net::ParseIPLiteralToNumber(kLocalhost, &ip_number);
+ if (!net::ParseIPLiteralToNumber(serial, &ip_number)) {
pfeldman 2015/07/06 10:10:04 ditto
yurys 2015/07/06 12:49:00 Done.
+ LOG(ERROR) << "Failed to parse IP address: " << serial;
dgozman 2015/07/06 10:08:34 We should |callback(nullptr)| probably.
yurys 2015/07/06 12:49:00 Done.
+ }
int port;
base::StringToInt(socket_name, &port);
net::AddressList address_list =
@@ -71,7 +85,6 @@ void SelfAsDeviceProvider::OpenSocket(const std::string& serial,
}
void SelfAsDeviceProvider::ReleaseDevice(const std::string& serial) {
- DCHECK(serial == kSerial);
if (!release_callback_.is_null())
release_callback_.Run();
}

Powered by Google App Engine
This is Rietveld 408576698