diff options
author | battre@chromium.org <battre@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-31 22:29:01 +0000 |
---|---|---|
committer | battre@chromium.org <battre@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-31 22:29:01 +0000 |
commit | a216179bced5da1d8f534fe256e9b02173607559 (patch) | |
tree | 82120a15151bf09ef083d90c289923b9e75eab24 /chrome/browser/net | |
parent | dfb03af1c83b0b1ee40b60adfef0db582b260c0f (diff) | |
download | chromium_src-a216179bced5da1d8f534fe256e9b02173607559.zip chromium_src-a216179bced5da1d8f534fe256e9b02173607559.tar.gz chromium_src-a216179bced5da1d8f534fe256e9b02173607559.tar.bz2 |
Fall back to system settings if pref proxy setting is MODE_SYSTEM.
BUG=84220
TEST=See bug
Review URL: http://codereview.chromium.org/7084027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87379 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/net')
-rw-r--r-- | chrome/browser/net/pref_proxy_config_service.cc | 2 | ||||
-rw-r--r-- | chrome/browser/net/pref_proxy_config_service_unittest.cc | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/chrome/browser/net/pref_proxy_config_service.cc b/chrome/browser/net/pref_proxy_config_service.cc index a07a340..6fafc36 100644 --- a/chrome/browser/net/pref_proxy_config_service.cc +++ b/chrome/browser/net/pref_proxy_config_service.cc @@ -116,7 +116,7 @@ bool PrefProxyConfigTracker::PrefConfigToNetConfig( switch (mode) { case ProxyPrefs::MODE_SYSTEM: // Use system settings. - return true; + return false; case ProxyPrefs::MODE_DIRECT: // Ignore all the other proxy config preferences if the use of a proxy // has been explicitly disabled. diff --git a/chrome/browser/net/pref_proxy_config_service_unittest.cc b/chrome/browser/net/pref_proxy_config_service_unittest.cc index 6d959a3..d350829 100644 --- a/chrome/browser/net/pref_proxy_config_service_unittest.cc +++ b/chrome/browser/net/pref_proxy_config_service_unittest.cc @@ -263,6 +263,22 @@ TEST_F(PrefProxyConfigServiceTest, Fallback) { proxy_config_service_->RemoveObserver(&observer); } +TEST_F(PrefProxyConfigServiceTest, ExplicitSystemSettings) { + pref_service_->SetRecommendedPref( + prefs::kProxy, + ProxyConfigDictionary::CreateAutoDetect()); + pref_service_->SetUserPref( + prefs::kProxy, + ProxyConfigDictionary::CreateSystem()); + loop_.RunAllPending(); + + // Test if we actually use the system setting, which is |kFixedPacUrl|. + net::ProxyConfig actual_config; + EXPECT_EQ(net::ProxyConfigService::CONFIG_VALID, + proxy_config_service_->GetLatestProxyConfig(&actual_config)); + EXPECT_EQ(GURL(kFixedPacUrl), actual_config.pac_url()); +} + // Test parameter object for testing command line proxy configuration. struct CommandLineTestParams { // Explicit assignment operator, so testing::TestWithParam works with MSVC. |