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

Unified Diff: chrome/browser/extensions/extension_proxy_apitest.cc

Issue 6469030: Support bypassList in Proxy Settings API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: New version fixing unit test Created 9 years, 10 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: chrome/browser/extensions/extension_proxy_apitest.cc
diff --git a/chrome/browser/extensions/extension_proxy_apitest.cc b/chrome/browser/extensions/extension_proxy_apitest.cc
index b07e2cb9e7c784b7c323ee0210665f3d37ac5956..64f34b86009e60624df9afe42c1868ebfe84a5af 100644
--- a/chrome/browser/extensions/extension_proxy_apitest.cc
+++ b/chrome/browser/extensions/extension_proxy_apitest.cc
@@ -13,8 +13,9 @@
namespace {
-const char NO_SERVER[] = "";
-const char NO_PAC[] = "";
+const char kNoServer[] = "";
+const char kNoBypass[] = "";
+const char kNoPac[] = "";
} // namespace
@@ -22,6 +23,7 @@ class ProxySettingsApiTest : public ExtensionApiTest {
protected:
void ValidateSettings(int expected_mode,
const std::string& expected_server,
+ const std::string& bypass,
const std::string& expected_pac_url,
PrefService* pref_service) {
const PrefService::Preference* pref =
@@ -36,6 +38,13 @@ class ProxySettingsApiTest : public ExtensionApiTest {
EXPECT_EQ(expected_mode, mode);
std::string value;
+ if (!bypass.empty()) {
+ ASSERT_TRUE(dict.GetBypassList(&value));
+ EXPECT_EQ(bypass, value);
+ } else {
+ EXPECT_FALSE(dict.GetBypassList(&value));
+ }
+
if (!expected_pac_url.empty()) {
ASSERT_TRUE(dict.GetPacUrl(&value));
EXPECT_EQ(expected_pac_url, value);
@@ -59,13 +68,6 @@ class ProxySettingsApiTest : public ExtensionApiTest {
}
};
-namespace {
-
-const char kNoServer[] = "";
-const char kNoPac[] = "";
-
-} // namespace
-
// Tests direct connection settings.
IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyDirectSettings) {
CommandLine::ForCurrentProcess()->AppendSwitch(
@@ -76,7 +78,8 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyDirectSettings) {
ASSERT_TRUE(extension);
PrefService* pref_service = browser()->profile()->GetPrefs();
- ValidateSettings(ProxyPrefs::MODE_DIRECT, kNoServer, kNoPac, pref_service);
+ ValidateSettings(ProxyPrefs::MODE_DIRECT, kNoServer, kNoBypass, kNoPac,
+ pref_service);
}
// Tests auto-detect settings.
@@ -89,7 +92,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyAutoSettings) {
ASSERT_TRUE(extension);
PrefService* pref_service = browser()->profile()->GetPrefs();
- ValidateSettings(ProxyPrefs::MODE_AUTO_DETECT, kNoServer, kNoPac,
+ ValidateSettings(ProxyPrefs::MODE_AUTO_DETECT, kNoServer, kNoBypass, kNoPac,
pref_service);
}
@@ -103,7 +106,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyPacScript) {
ASSERT_TRUE(extension);
PrefService* pref_service = browser()->profile()->GetPrefs();
- ValidateSettings(ProxyPrefs::MODE_PAC_SCRIPT, kNoServer,
+ ValidateSettings(ProxyPrefs::MODE_PAC_SCRIPT, kNoServer, kNoBypass,
"http://wpad/windows.pac", pref_service);
}
@@ -119,6 +122,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedSingle) {
PrefService* pref_service = browser()->profile()->GetPrefs();
ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS,
"127.0.0.1:100",
+ kNoBypass,
kNoPac,
pref_service);
}
@@ -133,7 +137,8 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxySystem) {
ASSERT_TRUE(extension);
PrefService* pref_service = browser()->profile()->GetPrefs();
- ValidateSettings(ProxyPrefs::MODE_SYSTEM, kNoServer, kNoPac, pref_service);
+ ValidateSettings(ProxyPrefs::MODE_SYSTEM, kNoServer, kNoBypass, kNoPac,
+ pref_service);
}
// Tests setting separate proxies for each scheme.
@@ -151,6 +156,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedIndividual) {
"https=2.2.2.2:80;" // http:// is pruned.
"ftp=3.3.3.3:9000;" // http:// is pruned.
"socks=socks4://4.4.4.4:9090",
+ kNoBypass,
kNoPac,
pref_service);
@@ -161,6 +167,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedIndividual) {
"https=2.2.2.2:80;"
"ftp=3.3.3.3:9000;"
"socks=socks4://4.4.4.4:9090",
+ kNoBypass,
kNoPac,
pref_service);
}
@@ -185,6 +192,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest,
"https=socks5://2.2.2.2:1080;" // socks5 equals socks.
"ftp=3.3.3.3:9000;"
"socks=socks4://4.4.4.4:9090",
+ kNoBypass,
kNoPac,
pref_service);
}
@@ -205,6 +213,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest,
"https=socks5://2.2.2.2:1080;"
"ftp=3.3.3.3:9000;"
"socks=socks4://4.4.4.4:9090",
+ kNoBypass,
kNoPac,
pref_service);
@@ -215,6 +224,7 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest,
"https=socks5://6.6.6.6:1080;"
"ftp=7.7.7.7:9000;"
"socks=socks4://8.8.8.8:9090",
+ kNoBypass,
kNoPac,
pref_service);
}
@@ -231,3 +241,28 @@ IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest, ProxyFixedIndividualRemove) {
PrefService* pref_service = browser()->profile()->GetPrefs();
ExpectNoSettings(pref_service);
}
+
+IN_PROC_BROWSER_TEST_F(ProxySettingsApiTest,
+ ProxyBypass) {
+ CommandLine::ForCurrentProcess()->AppendSwitch(
+ switches::kEnableExperimentalExtensionApis);
+
+ ASSERT_TRUE(RunExtensionTest("proxy/bypass")) << message_;
+ const Extension* extension = GetSingleLoadedExtension();
+ ASSERT_TRUE(extension);
+
+ PrefService* pref_service = browser()->profile()->GetPrefs();
+ ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS,
+ "http=1.1.1.1:80",
+ "localhost,::1,foo.bar",
+ kNoPac,
+ pref_service);
+
+ // Now check the incognito preferences.
+ pref_service = browser()->profile()->GetOffTheRecordProfile()->GetPrefs();
+ ValidateSettings(ProxyPrefs::MODE_FIXED_SERVERS,
+ "http=1.1.1.1:80",
+ "localhost,::1,foo.bar",
+ kNoPac,
+ pref_service);
+}

Powered by Google App Engine
This is Rietveld 408576698