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

Side by Side Diff: net/proxy/proxy_config_service_linux.cc

Issue 10217008: Linux: Add support for new KDE space-delimited proxy port numbers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: merge Created 8 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | net/proxy/proxy_config_service_linux_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "net/proxy/proxy_config_service_linux.h" 5 #include "net/proxy/proxy_config_service_linux.h"
6 6
7 #include <errno.h> 7 #include <errno.h>
8 #include <fcntl.h> 8 #include <fcntl.h>
9 #if defined(USE_GCONF) 9 #if defined(USE_GCONF)
10 #include <gconf/gconf-client.h> 10 #include <gconf/gconf-client.h>
(...skipping 1081 matching lines...) Expand 10 before | Expand all | Expand 10 after
1092 } 1092 }
1093 1093
1094 FilePath KDEHomeToConfigPath(const FilePath& kde_home) { 1094 FilePath KDEHomeToConfigPath(const FilePath& kde_home) {
1095 return kde_home.Append("share").Append("config"); 1095 return kde_home.Append("share").Append("config");
1096 } 1096 }
1097 1097
1098 void AddProxy(StringSetting host_key, const std::string& value) { 1098 void AddProxy(StringSetting host_key, const std::string& value) {
1099 if (value.empty() || value.substr(0, 3) == "//:") 1099 if (value.empty() || value.substr(0, 3) == "//:")
1100 // No proxy. 1100 // No proxy.
1101 return; 1101 return;
1102 // We don't need to parse the port number out; GetProxyFromSettings() 1102 size_t space = value.find(' ');
1103 // would only append it right back again. So we just leave the port 1103 if (space != std::string::npos) {
1104 // number right in the host string. 1104 // Newer versions of KDE use a space rather than a colon to separate the
1105 string_table_[host_key] = value; 1105 // port number from the hostname. If we find this, we need to convert it.
1106 std::string fixed = value;
1107 fixed[space] = ':';
1108 string_table_[host_key] = fixed;
1109 } else {
1110 // We don't need to parse the port number out; GetProxyFromSettings()
1111 // would only append it right back again. So we just leave the port
1112 // number right in the host string.
1113 string_table_[host_key] = value;
1114 }
1106 } 1115 }
1107 1116
1108 void AddHostList(StringListSetting key, const std::string& value) { 1117 void AddHostList(StringListSetting key, const std::string& value) {
1109 std::vector<std::string> tokens; 1118 std::vector<std::string> tokens;
1110 StringTokenizer tk(value, ", "); 1119 StringTokenizer tk(value, ", ");
1111 while (tk.GetNext()) { 1120 while (tk.GetNext()) {
1112 std::string token = tk.token(); 1121 std::string token = tk.token();
1113 if (!token.empty()) 1122 if (!token.empty())
1114 tokens.push_back(token); 1123 tokens.push_back(token);
1115 } 1124 }
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after
1796 void ProxyConfigServiceLinux::RemoveObserver(Observer* observer) { 1805 void ProxyConfigServiceLinux::RemoveObserver(Observer* observer) {
1797 delegate_->RemoveObserver(observer); 1806 delegate_->RemoveObserver(observer);
1798 } 1807 }
1799 1808
1800 ProxyConfigService::ConfigAvailability 1809 ProxyConfigService::ConfigAvailability
1801 ProxyConfigServiceLinux::GetLatestProxyConfig(ProxyConfig* config) { 1810 ProxyConfigServiceLinux::GetLatestProxyConfig(ProxyConfig* config) {
1802 return delegate_->GetLatestProxyConfig(config); 1811 return delegate_->GetLatestProxyConfig(config);
1803 } 1812 }
1804 1813
1805 } // namespace net 1814 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/proxy/proxy_config_service_linux_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698