Index: chrome/browser/extensions/api/web_request/web_request_api_unittest.cc |
diff --git a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc |
index 1108e1bbdba0863d9c5f1311f5686bfe3b222ee8..2c78f1f997427946273b147622db828de03826c1 100644 |
--- a/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc |
+++ b/chrome/browser/extensions/api/web_request/web_request_api_unittest.cc |
@@ -1485,6 +1485,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnAuthRequiredResponses) { |
} |
TEST(ExtensionWebRequestHelpersTest, TestHideRequestForURL) { |
+ MessageLoopForIO message_loop; |
const char* sensitive_urls[] = { |
"http://www.google.com/chrome", |
"https://www.google.com/chrome", |
@@ -1505,12 +1506,25 @@ TEST(ExtensionWebRequestHelpersTest, TestHideRequestForURL) { |
const char* non_sensitive_urls[] = { |
"http://www.google.com/" |
}; |
+ // Check that requests are rejected based on the destination |
for (size_t i = 0; i < arraysize(sensitive_urls); ++i) { |
- EXPECT_TRUE(helpers::HideRequestForURL(GURL(sensitive_urls[i]))) |
- << sensitive_urls[i]; |
+ GURL sensitive_url(sensitive_urls[i]); |
+ TestURLRequest request(sensitive_url, NULL); |
+ EXPECT_TRUE(helpers::HideRequest(&request)) << sensitive_urls[i]; |
} |
+ // Check that requests are accepted if they don't touch sensitive urls. |
for (size_t i = 0; i < arraysize(non_sensitive_urls); ++i) { |
- EXPECT_FALSE(helpers::HideRequestForURL(GURL(non_sensitive_urls[i]))) |
- << non_sensitive_urls[i]; |
+ GURL non_sensitive_url(non_sensitive_urls[i]); |
+ TestURLRequest request(non_sensitive_url, NULL); |
+ EXPECT_FALSE(helpers::HideRequest(&request)) << non_sensitive_urls[i]; |
+ } |
+ // Check that requests are rejected if their first party url is sensitive. |
+ ASSERT_GE(arraysize(non_sensitive_urls), 1u); |
+ GURL non_sensitive_url(non_sensitive_urls[0]); |
+ for (size_t i = 0; i < arraysize(sensitive_urls); ++i) { |
+ TestURLRequest request(non_sensitive_url, NULL); |
+ GURL sensitive_url(sensitive_urls[i]); |
+ request.set_first_party_for_cookies(sensitive_url); |
+ EXPECT_TRUE(helpers::HideRequest(&request)) << sensitive_urls[i]; |
} |
} |