| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/chromeos/proxy_cros_settings_provider.h" | 5 #include "chrome/browser/chromeos/proxy_cros_settings_provider.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
| 9 #include "chrome/browser/browser_list.h" | 9 #include "chrome/browser/browser_list.h" |
| 10 #include "chrome/browser/profiles/profile.h" | 10 #include "chrome/browser/browser_process.h" |
| 11 #include "chrome/browser/profiles/profile_manager.h" | |
| 12 #include "chrome/common/chrome_switches.h" | 11 #include "chrome/common/chrome_switches.h" |
| 13 | 12 |
| 14 namespace chromeos { | 13 namespace chromeos { |
| 15 | 14 |
| 16 static const char kProxyPacUrl[] = "cros.session.proxy.pacurl"; | 15 static const char kProxyPacUrl[] = "cros.session.proxy.pacurl"; |
| 17 static const char kProxySingleHttp[] = "cros.session.proxy.singlehttp"; | 16 static const char kProxySingleHttp[] = "cros.session.proxy.singlehttp"; |
| 18 static const char kProxySingleHttpPort[] = "cros.session.proxy.singlehttpport"; | 17 static const char kProxySingleHttpPort[] = "cros.session.proxy.singlehttpport"; |
| 19 static const char kProxyHttpUrl[] = "cros.session.proxy.httpurl"; | 18 static const char kProxyHttpUrl[] = "cros.session.proxy.httpurl"; |
| 20 static const char kProxyHttpPort[] = "cros.session.proxy.httpport"; | 19 static const char kProxyHttpPort[] = "cros.session.proxy.httpport"; |
| 21 static const char kProxyHttpsUrl[] = "cros.session.proxy.httpsurl"; | 20 static const char kProxyHttpsUrl[] = "cros.session.proxy.httpsurl"; |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 } | 284 } |
| 286 | 285 |
| 287 bool ProxyCrosSettingsProvider::HandlesSetting(const std::string& path) { | 286 bool ProxyCrosSettingsProvider::HandlesSetting(const std::string& path) { |
| 288 return ::StartsWithASCII(path, "cros.session.proxy", true); | 287 return ::StartsWithASCII(path, "cros.session.proxy", true); |
| 289 } | 288 } |
| 290 | 289 |
| 291 //----------------- ProxyCrosSettingsProvider: private methods ----------------- | 290 //----------------- ProxyCrosSettingsProvider: private methods ----------------- |
| 292 | 291 |
| 293 chromeos::ProxyConfigServiceImpl* | 292 chromeos::ProxyConfigServiceImpl* |
| 294 ProxyCrosSettingsProvider::GetConfigService() const { | 293 ProxyCrosSettingsProvider::GetConfigService() const { |
| 295 Browser* browser = BrowserList::GetLastActive(); | 294 return g_browser_process->chromeos_proxy_config_service_impl(); |
| 296 // browser is NULL at OOBE/login stage. | |
| 297 Profile* profile = browser ? | |
| 298 browser->profile() : | |
| 299 ProfileManager::GetDefaultProfile(); | |
| 300 return profile->GetChromeOSProxyConfigServiceImpl(); | |
| 301 } | 295 } |
| 302 | 296 |
| 303 void ProxyCrosSettingsProvider::AppendPortIfValid( | 297 void ProxyCrosSettingsProvider::AppendPortIfValid( |
| 304 const char* port_cache_key, | 298 const char* port_cache_key, |
| 305 std::string* server_uri) { | 299 std::string* server_uri) { |
| 306 std::string port; | 300 std::string port; |
| 307 if (!server_uri->empty() && cache_.GetString(port_cache_key, &port) && | 301 if (!server_uri->empty() && cache_.GetString(port_cache_key, &port) && |
| 308 !port.empty()) { | 302 !port.empty()) { |
| 309 *server_uri += ":" + port; | 303 *server_uri += ":" + port; |
| 310 } | 304 } |
| (...skipping 20 matching lines...) Expand all Loading... |
| 331 Value::CreateIntegerValue(proxy.server.host_port_pair().port()) : | 325 Value::CreateIntegerValue(proxy.server.host_port_pair().port()) : |
| 332 NULL; | 326 NULL; |
| 333 } | 327 } |
| 334 | 328 |
| 335 void ProxyCrosSettingsProvider::SetCache(const std::string& key, | 329 void ProxyCrosSettingsProvider::SetCache(const std::string& key, |
| 336 const Value* value) { | 330 const Value* value) { |
| 337 cache_.Set(key, value->DeepCopy()); | 331 cache_.Set(key, value->DeepCopy()); |
| 338 } | 332 } |
| 339 | 333 |
| 340 } // namespace chromeos | 334 } // namespace chromeos |
| OLD | NEW |