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

Unified Diff: chrome/browser/extensions/api/web_request/web_request_api_unittest.cc

Issue 2449913002: Support WebSocket in WebRequest API. (Closed)
Patch Set: Address comments from Devlin. Created 3 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
« no previous file with comments | « no previous file | chrome/browser/extensions/api/web_request/web_request_apitest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 8cd15af9a9d5389e9e67b37797a278c5764721a4..a7ed97ffc3239953a540724ab825fa9a01542581 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
@@ -94,6 +94,8 @@ namespace extensions {
namespace {
+constexpr const char kExampleUrl[] = "http://example.com";
+
static void EventHandledOnIOThread(
void* profile,
const std::string& extension_id,
@@ -1569,8 +1571,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
linked_ptr<EventResponseDelta> d0(
new EventResponseDelta("extid0", base::Time::FromInternalValue(0)));
deltas.push_back(d0);
- MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &warning_set, &net_log);
+ MergeOnBeforeRequestResponses(GURL(kExampleUrl), deltas, &effective_new_url,
+ &warning_set, &net_log);
EXPECT_TRUE(effective_new_url.is_empty());
// Single redirect.
@@ -1581,8 +1583,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
deltas.push_back(d1);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
capturing_net_log.Clear();
- MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &warning_set, &net_log);
+ MergeOnBeforeRequestResponses(GURL(kExampleUrl), deltas, &effective_new_url,
+ &warning_set, &net_log);
EXPECT_EQ(new_url_1, effective_new_url);
EXPECT_TRUE(warning_set.empty());
EXPECT_EQ(1u, capturing_net_log.GetSize());
@@ -1596,8 +1598,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
warning_set.clear();
capturing_net_log.Clear();
- MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &warning_set, &net_log);
+ MergeOnBeforeRequestResponses(GURL(kExampleUrl), deltas, &effective_new_url,
+ &warning_set, &net_log);
EXPECT_EQ(new_url_1, effective_new_url);
EXPECT_EQ(1u, warning_set.size());
EXPECT_TRUE(HasWarning(warning_set, "extid2"));
@@ -1612,8 +1614,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
warning_set.clear();
capturing_net_log.Clear();
- MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &warning_set, &net_log);
+ MergeOnBeforeRequestResponses(GURL(kExampleUrl), deltas, &effective_new_url,
+ &warning_set, &net_log);
EXPECT_EQ(new_url_3, effective_new_url);
EXPECT_EQ(2u, warning_set.size());
EXPECT_TRUE(HasWarning(warning_set, "extid1"));
@@ -1628,8 +1630,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
warning_set.clear();
capturing_net_log.Clear();
- MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &warning_set, &net_log);
+ MergeOnBeforeRequestResponses(GURL(kExampleUrl), deltas, &effective_new_url,
+ &warning_set, &net_log);
EXPECT_EQ(new_url_3, effective_new_url);
EXPECT_EQ(2u, warning_set.size());
EXPECT_TRUE(HasWarning(warning_set, "extid1"));
@@ -1652,8 +1654,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
new EventResponseDelta("extid0", base::Time::FromInternalValue(2000)));
d0->new_url = GURL(new_url_0);
deltas.push_back(d0);
- MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &warning_set, &net_log);
+ MergeOnBeforeRequestResponses(GURL(kExampleUrl), deltas, &effective_new_url,
+ &warning_set, &net_log);
EXPECT_EQ(new_url_0, effective_new_url);
// Cancel request by redirecting to a data:// URL. This shall override
@@ -1666,8 +1668,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
warning_set.clear();
capturing_net_log.Clear();
- MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &warning_set, &net_log);
+ MergeOnBeforeRequestResponses(GURL(kExampleUrl), deltas, &effective_new_url,
+ &warning_set, &net_log);
EXPECT_EQ(new_url_1, effective_new_url);
EXPECT_TRUE(warning_set.empty());
EXPECT_EQ(1u, capturing_net_log.GetSize());
@@ -1682,8 +1684,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
warning_set.clear();
capturing_net_log.Clear();
- MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &warning_set, &net_log);
+ MergeOnBeforeRequestResponses(GURL(kExampleUrl), deltas, &effective_new_url,
+ &warning_set, &net_log);
EXPECT_EQ(new_url_1, effective_new_url);
EXPECT_TRUE(warning_set.empty());
EXPECT_EQ(2u, capturing_net_log.GetSize());
@@ -1698,8 +1700,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
warning_set.clear();
capturing_net_log.Clear();
- MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &warning_set, &net_log);
+ MergeOnBeforeRequestResponses(GURL(kExampleUrl), deltas, &effective_new_url,
+ &warning_set, &net_log);
EXPECT_EQ(new_url_1, effective_new_url);
EXPECT_EQ(1u, warning_set.size());
EXPECT_TRUE(HasWarning(warning_set, "extid3"));
@@ -1721,8 +1723,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses3) {
new EventResponseDelta("extid0", base::Time::FromInternalValue(2000)));
d0->new_url = GURL(new_url_0);
deltas.push_back(d0);
- MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &warning_set, &net_log);
+ MergeOnBeforeRequestResponses(GURL(kExampleUrl), deltas, &effective_new_url,
+ &warning_set, &net_log);
EXPECT_EQ(new_url_0, effective_new_url);
// Cancel request by redirecting to about:blank. This shall override
@@ -1735,13 +1737,31 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses3) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
warning_set.clear();
capturing_net_log.Clear();
- MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &warning_set, &net_log);
+ MergeOnBeforeRequestResponses(GURL(kExampleUrl), deltas, &effective_new_url,
+ &warning_set, &net_log);
EXPECT_EQ(new_url_1, effective_new_url);
EXPECT_TRUE(warning_set.empty());
EXPECT_EQ(1u, capturing_net_log.GetSize());
}
+// This tests that WebSocket requests can not be redirected.
+TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses4) {
+ EventResponseDeltas deltas;
+ net::BoundTestNetLog capturing_net_log;
+ net::NetLogWithSource net_log = capturing_net_log.bound();
+ WarningSet warning_set;
+ GURL effective_new_url;
+
+ // Single redirect.
+ linked_ptr<EventResponseDelta> delta(
+ new EventResponseDelta("extid", base::Time::FromInternalValue(2000)));
+ delta->new_url = GURL("http://foo.com");
+ deltas.push_back(delta);
+ MergeOnBeforeRequestResponses(GURL("ws://example.com"), deltas,
+ &effective_new_url, &warning_set, &net_log);
+ EXPECT_EQ(GURL::EmptyGURL(), effective_new_url);
Devlin 2017/02/21 20:34:11 nit: just use GURL() instead of EmptyGURL()
pkalinnikov 2017/02/21 22:28:54 Done.
+}
+
TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
net::HttpRequestHeaders base_headers;
base_headers.SetHeader("key1", "value 1");
@@ -2183,12 +2203,9 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
deltas.push_back(d0);
scoped_refptr<net::HttpResponseHeaders> new_headers0;
GURL allowed_unsafe_redirect_url0;
- MergeOnHeadersReceivedResponses(deltas,
- base_headers.get(),
- &new_headers0,
- &allowed_unsafe_redirect_url0,
- &warning_set,
- &net_log);
+ MergeOnHeadersReceivedResponses(GURL(kExampleUrl), deltas, base_headers.get(),
+ &new_headers0, &allowed_unsafe_redirect_url0,
+ &warning_set, &net_log);
EXPECT_FALSE(new_headers0.get());
EXPECT_TRUE(allowed_unsafe_redirect_url0.is_empty());
EXPECT_EQ(0u, warning_set.size());
@@ -2205,12 +2222,9 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
capturing_net_log.Clear();
scoped_refptr<net::HttpResponseHeaders> new_headers1;
GURL allowed_unsafe_redirect_url1;
- MergeOnHeadersReceivedResponses(deltas,
- base_headers.get(),
- &new_headers1,
- &allowed_unsafe_redirect_url1,
- &warning_set,
- &net_log);
+ MergeOnHeadersReceivedResponses(GURL(kExampleUrl), deltas, base_headers.get(),
+ &new_headers1, &allowed_unsafe_redirect_url1,
+ &warning_set, &net_log);
ASSERT_TRUE(new_headers1.get());
EXPECT_TRUE(allowed_unsafe_redirect_url1.is_empty());
std::multimap<std::string, std::string> expected1;
@@ -2239,12 +2253,9 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
capturing_net_log.Clear();
scoped_refptr<net::HttpResponseHeaders> new_headers2;
GURL allowed_unsafe_redirect_url2;
- MergeOnHeadersReceivedResponses(deltas,
- base_headers.get(),
- &new_headers2,
- &allowed_unsafe_redirect_url2,
- &warning_set,
- &net_log);
+ MergeOnHeadersReceivedResponses(GURL(kExampleUrl), deltas, base_headers.get(),
+ &new_headers2, &allowed_unsafe_redirect_url2,
+ &warning_set, &net_log);
ASSERT_TRUE(new_headers2.get());
EXPECT_TRUE(allowed_unsafe_redirect_url2.is_empty());
iter = 0;
@@ -2285,12 +2296,9 @@ TEST(ExtensionWebRequestHelpersTest,
deltas.push_back(d1);
scoped_refptr<net::HttpResponseHeaders> new_headers1;
GURL allowed_unsafe_redirect_url1;
- MergeOnHeadersReceivedResponses(deltas,
- base_headers.get(),
- &new_headers1,
- &allowed_unsafe_redirect_url1,
- &warning_set,
- &net_log);
+ MergeOnHeadersReceivedResponses(GURL(kExampleUrl), deltas, base_headers.get(),
+ &new_headers1, &allowed_unsafe_redirect_url1,
+ &warning_set, &net_log);
ASSERT_TRUE(new_headers1.get());
EXPECT_TRUE(allowed_unsafe_redirect_url1.is_empty());
std::multimap<std::string, std::string> expected1;
@@ -2332,12 +2340,9 @@ TEST(ExtensionWebRequestHelpersTest,
deltas.push_back(d0);
scoped_refptr<net::HttpResponseHeaders> new_headers0;
GURL allowed_unsafe_redirect_url0;
- MergeOnHeadersReceivedResponses(deltas,
- base_headers.get(),
- &new_headers0,
- &allowed_unsafe_redirect_url0,
- &warning_set,
- &net_log);
+ MergeOnHeadersReceivedResponses(GURL(kExampleUrl), deltas, base_headers.get(),
+ &new_headers0, &allowed_unsafe_redirect_url0,
+ &warning_set, &net_log);
EXPECT_FALSE(new_headers0.get());
EXPECT_TRUE(allowed_unsafe_redirect_url0.is_empty());
EXPECT_EQ(0u, warning_set.size());
@@ -2353,12 +2358,9 @@ TEST(ExtensionWebRequestHelpersTest,
capturing_net_log.Clear();
scoped_refptr<net::HttpResponseHeaders> new_headers1;
GURL allowed_unsafe_redirect_url1;
- MergeOnHeadersReceivedResponses(deltas,
- base_headers.get(),
- &new_headers1,
- &allowed_unsafe_redirect_url1,
- &warning_set,
- &net_log);
+ MergeOnHeadersReceivedResponses(GURL(kExampleUrl), deltas, base_headers.get(),
+ &new_headers1, &allowed_unsafe_redirect_url1,
+ &warning_set, &net_log);
EXPECT_TRUE(new_headers1.get());
EXPECT_TRUE(new_headers1->HasHeaderValue("Location", new_url_1.spec()));
« no previous file with comments | « no previous file | chrome/browser/extensions/api/web_request/web_request_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698