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

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

Issue 2253683002: [DevTools] Introduce a target discovery preference (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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
« no previous file with comments | « no previous file | chrome/browser/devtools/devtools_window.cc » ('j') | chrome/common/pref_names.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/devtools/device/devtools_android_bridge.cc
diff --git a/chrome/browser/devtools/device/devtools_android_bridge.cc b/chrome/browser/devtools/device/devtools_android_bridge.cc
index 43eb41908fcebf091a852a7ef52bad598ba915ec..5f10528364ede525ce9f80349e7c173c9680378b 100644
--- a/chrome/browser/devtools/device/devtools_android_bridge.cc
+++ b/chrome/browser/devtools/device/devtools_android_bridge.cc
@@ -728,6 +728,9 @@ DevToolsAndroidBridge::DevToolsAndroidBridge(
pref_change_registrar_.Add(prefs::kDevToolsDiscoverUsbDevicesEnabled,
base::Bind(&DevToolsAndroidBridge::CreateDeviceProviders,
base::Unretained(this)));
+ pref_change_registrar_.Add(prefs::kDevToolsTargetDiscoveryConfig,
+ base::Bind(&DevToolsAndroidBridge::CreateDeviceProviders,
+ base::Unretained(this)));
CreateDeviceProviders();
}
@@ -903,9 +906,11 @@ void DevToolsAndroidBridge::ScheduleTaskDefault(const base::Closure& task) {
base::TimeDelta::FromMilliseconds(kAdbPollingIntervalMs));
}
-static scoped_refptr<TCPDeviceProvider> CreateTCPDeviceProvider() {
+static scoped_refptr<TCPDeviceProvider> CreateTCPDeviceProvider(
+ const base::ListValue* targetDiscoveryConfig) {
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
- if (!command_line->HasSwitch(switches::kRemoteDebuggingTargets))
+ if (targetDiscoveryConfig->empty() &&
+ !command_line->HasSwitch(switches::kRemoteDebuggingTargets))
return nullptr;
std::string value =
command_line->GetSwitchValueASCII(switches::kRemoteDebuggingTargets);
@@ -920,6 +925,17 @@ static scoped_refptr<TCPDeviceProvider> CreateTCPDeviceProvider() {
}
targets.insert(target);
}
+ std::string address;
+ for (size_t i = 0; i < targetDiscoveryConfig->GetSize(); i++) {
+ if (!targetDiscoveryConfig->GetString(i, &address))
+ continue;
+ net::HostPortPair target = net::HostPortPair::FromString(address);
+ if (target.IsEmpty()) {
+ LOG(WARNING) << "Invalid target: " << address;
+ continue;
+ }
+ targets.insert(target);
+ }
if (targets.empty())
return nullptr;
return new TCPDeviceProvider(targets);
@@ -927,8 +943,14 @@ static scoped_refptr<TCPDeviceProvider> CreateTCPDeviceProvider() {
void DevToolsAndroidBridge::CreateDeviceProviders() {
AndroidDeviceManager::DeviceProviders device_providers;
+ PrefService* service = profile_->GetPrefs();
+ const PrefService::Preference* discoveryPref =
+ service->FindPreference(prefs::kDevToolsTargetDiscoveryConfig);
+ const base::ListValue* targets;
+ discoveryPref->GetValue()->GetAsList(&targets);
dgozman 2016/08/16 20:24:33 What if it's not there?
eostroukhov-old 2016/08/16 23:55:33 I updated the code - please let me know if I under
- if (scoped_refptr<TCPDeviceProvider> provider = CreateTCPDeviceProvider())
+ if (scoped_refptr<TCPDeviceProvider> provider =
+ CreateTCPDeviceProvider(targets))
device_providers.push_back(provider);
#if defined(ENABLE_SERVICE_DISCOVERY)
@@ -937,7 +959,6 @@ void DevToolsAndroidBridge::CreateDeviceProviders() {
device_providers.push_back(new AdbDeviceProvider());
- PrefService* service = profile_->GetPrefs();
const PrefService::Preference* pref =
service->FindPreference(prefs::kDevToolsDiscoverUsbDevicesEnabled);
const base::Value* pref_value = pref->GetValue();
« no previous file with comments | « no previous file | chrome/browser/devtools/devtools_window.cc » ('j') | chrome/common/pref_names.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698