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

Unified Diff: net/proxy/proxy_config_service_linux.cc

Issue 10310179: Track sources of proxy settings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update copyright Created 8 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 side-by-side diff with in-line comments
Download patch
Index: net/proxy/proxy_config_service_linux.cc
diff --git a/net/proxy/proxy_config_service_linux.cc b/net/proxy/proxy_config_service_linux.cc
index fb001cd8cf5b7a052732a39e8788a5735e1231b6..fc85947465aacd47fe33a29af3c8198dd3868958 100644
--- a/net/proxy/proxy_config_service_linux.cc
+++ b/net/proxy/proxy_config_service_linux.cc
@@ -320,8 +320,8 @@ class SettingGetterImplGConf : public ProxyConfigServiceLinux::SettingGetter {
return task_runner_;
}
- virtual const char* GetDataSource() OVERRIDE {
- return "gconf";
+ virtual ProxyConfigSource GetConfigSource() OVERRIDE {
+ return PROXY_CONFIG_SOURCE_GCONF;
}
virtual bool GetString(StringSetting key, std::string* result) OVERRIDE {
@@ -637,8 +637,8 @@ class SettingGetterImplGSettings
return task_runner_;
}
- virtual const char* GetDataSource() OVERRIDE {
- return "gsettings";
+ virtual ProxyConfigSource GetConfigSource() OVERRIDE {
+ return PROXY_CONFIG_SOURCE_GSETTINGS;
}
virtual bool GetString(StringSetting key, std::string* result) OVERRIDE {
@@ -1045,8 +1045,8 @@ class SettingGetterImplKDE : public ProxyConfigServiceLinux::SettingGetter,
NOTREACHED();
}
- virtual const char* GetDataSource() OVERRIDE {
- return "KDE";
+ virtual ProxyConfigSource GetConfigSource() OVERRIDE {
+ return PROXY_CONFIG_SOURCE_KDE;
}
virtual bool GetString(StringSetting key, std::string* result) OVERRIDE {
@@ -1634,8 +1634,9 @@ void ProxyConfigServiceLinux::Delegate::SetUpAndFetchInitialConfig(
setting_getter_->Init(glib_thread_task_runner, file_loop) &&
GetConfigFromSettings(&cached_config_)) {
cached_config_.set_id(1); // Mark it as valid.
+ cached_config_.set_source(setting_getter_->GetConfigSource());
VLOG(1) << "Obtained proxy settings from "
- << setting_getter_->GetDataSource();
+ << ProxyConfigSourceToString(cached_config_.source());
// If gconf proxy mode is "none", meaning direct, then we take
// that to be a valid config and will not check environment
@@ -1675,6 +1676,7 @@ void ProxyConfigServiceLinux::Delegate::SetUpAndFetchInitialConfig(
// Consulting environment variables doesn't need to be done from the
// default glib main loop, but it's a tiny enough amount of work.
if (GetConfigFromEnv(&cached_config_)) {
+ cached_config_.set_source(PROXY_CONFIG_SOURCE_ENV);
cached_config_.set_id(1); // Mark it as valid.
VLOG(1) << "Obtained proxy settings from environment variables";
}
@@ -1708,8 +1710,12 @@ ProxyConfigService::ConfigAvailability
// Simply return the last proxy configuration that glib_default_loop
// notified us of.
- *config = cached_config_.is_valid() ?
- cached_config_ : ProxyConfig::CreateDirect();
+ if (cached_config_.is_valid()) {
+ *config = cached_config_;
+ } else {
+ *config = ProxyConfig::CreateDirect();
+ config->set_source(PROXY_CONFIG_SOURCE_SYSTEM_FAILED);
+ }
// We return CONFIG_VALID to indicate that *config was filled in. It is always
// going to be available since we initialized eagerly on the UI thread.

Powered by Google App Engine
This is Rietveld 408576698