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

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

Issue 2708923005: Extensions: Add metrics for Web Request API actions. (Closed)
Patch Set: Rename enum WebRequestAction -> RequestAction in histograms.xml to be in line with the implementation. 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 | extensions/browser/api/web_request/web_request_api.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 0126832d8687e9d932b18af53a1598307e3be756..c74a5711c5c1e8212fffd7800a175f5800d6c1ef 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
@@ -1776,15 +1776,18 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
linked_ptr<EventResponseDelta> d0(
new EventResponseDelta("extid0", base::Time::FromInternalValue(2500)));
deltas.push_back(d0);
+ bool request_headers_modified0;
net::HttpRequestHeaders headers0;
headers0.MergeFrom(base_headers);
- MergeOnBeforeSendHeadersResponses(deltas, &headers0, &warning_set, &net_log);
+ MergeOnBeforeSendHeadersResponses(deltas, &headers0, &warning_set, &net_log,
+ &request_headers_modified0);
ASSERT_TRUE(headers0.GetHeader("key1", &header_value));
EXPECT_EQ("value 1", header_value);
ASSERT_TRUE(headers0.GetHeader("key2", &header_value));
EXPECT_EQ("value 2", header_value);
EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
+ EXPECT_FALSE(request_headers_modified0);
// Delete, modify and add a header.
linked_ptr<EventResponseDelta> d1(
@@ -1796,9 +1799,11 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
warning_set.clear();
capturing_net_log.Clear();
+ bool request_headers_modified1;
net::HttpRequestHeaders headers1;
headers1.MergeFrom(base_headers);
- MergeOnBeforeSendHeadersResponses(deltas, &headers1, &warning_set, &net_log);
+ MergeOnBeforeSendHeadersResponses(deltas, &headers1, &warning_set, &net_log,
+ &request_headers_modified1);
EXPECT_FALSE(headers1.HasHeader("key1"));
ASSERT_TRUE(headers1.GetHeader("key2", &header_value));
EXPECT_EQ("value 3", header_value);
@@ -1806,6 +1811,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
EXPECT_EQ("value 3", header_value);
EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(1u, capturing_net_log.GetSize());
+ EXPECT_TRUE(request_headers_modified1);
// Check that conflicts are atomic, i.e. if one header modification
// collides all other conflicts of the same extension are declined as well.
@@ -1818,9 +1824,11 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
warning_set.clear();
capturing_net_log.Clear();
+ bool request_headers_modified2;
net::HttpRequestHeaders headers2;
headers2.MergeFrom(base_headers);
- MergeOnBeforeSendHeadersResponses(deltas, &headers2, &warning_set, &net_log);
+ MergeOnBeforeSendHeadersResponses(deltas, &headers2, &warning_set, &net_log,
+ &request_headers_modified2);
EXPECT_FALSE(headers2.HasHeader("key1"));
ASSERT_TRUE(headers2.GetHeader("key2", &header_value));
EXPECT_EQ("value 3", header_value);
@@ -1830,6 +1838,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
EXPECT_EQ(1u, warning_set.size());
EXPECT_TRUE(HasWarning(warning_set, "extid2"));
EXPECT_EQ(2u, capturing_net_log.GetSize());
+ EXPECT_TRUE(request_headers_modified2);
// Check that identical modifications don't conflict and operations
// can be merged.
@@ -1842,9 +1851,11 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
warning_set.clear();
capturing_net_log.Clear();
+ bool request_headers_modified3;
net::HttpRequestHeaders headers3;
headers3.MergeFrom(base_headers);
- MergeOnBeforeSendHeadersResponses(deltas, &headers3, &warning_set, &net_log);
+ MergeOnBeforeSendHeadersResponses(deltas, &headers3, &warning_set, &net_log,
+ &request_headers_modified3);
EXPECT_FALSE(headers3.HasHeader("key1"));
ASSERT_TRUE(headers3.GetHeader("key2", &header_value));
EXPECT_EQ("value 3", header_value);
@@ -1855,6 +1866,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
EXPECT_EQ(1u, warning_set.size());
EXPECT_TRUE(HasWarning(warning_set, "extid2"));
EXPECT_EQ(3u, capturing_net_log.GetSize());
+ EXPECT_TRUE(request_headers_modified3);
}
TEST(ExtensionWebRequestHelpersTest,
@@ -1907,15 +1919,18 @@ TEST(ExtensionWebRequestHelpersTest,
deltas.push_back(delta);
}
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
+ bool request_headers_modified1;
net::HttpRequestHeaders headers1;
headers1.MergeFrom(base_headers);
warning_set.clear();
- MergeOnBeforeSendHeadersResponses(deltas, &headers1, &warning_set, &net_log);
+ MergeOnBeforeSendHeadersResponses(deltas, &headers1, &warning_set, &net_log,
+ &request_headers_modified1);
EXPECT_TRUE(headers1.HasHeader("Cookie"));
ASSERT_TRUE(headers1.GetHeader("Cookie", &header_value));
EXPECT_EQ("name=new value; name2=new value; name4=\"value 4\"", header_value);
EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
+ EXPECT_FALSE(request_headers_modified1);
}
namespace {
@@ -2201,15 +2216,18 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
linked_ptr<EventResponseDelta> d0(
new EventResponseDelta("extid0", base::Time::FromInternalValue(3000)));
deltas.push_back(d0);
+ bool response_headers_modified0;
scoped_refptr<net::HttpResponseHeaders> new_headers0;
GURL allowed_unsafe_redirect_url0;
MergeOnHeadersReceivedResponses(GURL(kExampleUrl), deltas, base_headers.get(),
&new_headers0, &allowed_unsafe_redirect_url0,
- &warning_set, &net_log);
+ &warning_set, &net_log,
+ &response_headers_modified0);
EXPECT_FALSE(new_headers0.get());
EXPECT_TRUE(allowed_unsafe_redirect_url0.is_empty());
EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
+ EXPECT_FALSE(response_headers_modified0);
linked_ptr<EventResponseDelta> d1(
new EventResponseDelta("extid1", base::Time::FromInternalValue(2000)));
@@ -2220,11 +2238,13 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
warning_set.clear();
capturing_net_log.Clear();
+ bool response_headers_modified1;
scoped_refptr<net::HttpResponseHeaders> new_headers1;
GURL allowed_unsafe_redirect_url1;
MergeOnHeadersReceivedResponses(GURL(kExampleUrl), deltas, base_headers.get(),
&new_headers1, &allowed_unsafe_redirect_url1,
- &warning_set, &net_log);
+ &warning_set, &net_log,
+ &response_headers_modified1);
ASSERT_TRUE(new_headers1.get());
EXPECT_TRUE(allowed_unsafe_redirect_url1.is_empty());
std::multimap<std::string, std::string> expected1;
@@ -2239,6 +2259,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
EXPECT_EQ(expected1, actual1);
EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(1u, capturing_net_log.GetSize());
+ EXPECT_TRUE(response_headers_modified1);
// Check that we replace response headers only once.
linked_ptr<EventResponseDelta> d2(
@@ -2251,11 +2272,13 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
warning_set.clear();
capturing_net_log.Clear();
+ bool response_headers_modified2;
scoped_refptr<net::HttpResponseHeaders> new_headers2;
GURL allowed_unsafe_redirect_url2;
MergeOnHeadersReceivedResponses(GURL(kExampleUrl), deltas, base_headers.get(),
&new_headers2, &allowed_unsafe_redirect_url2,
- &warning_set, &net_log);
+ &warning_set, &net_log,
+ &response_headers_modified2);
ASSERT_TRUE(new_headers2.get());
EXPECT_TRUE(allowed_unsafe_redirect_url2.is_empty());
iter = 0;
@@ -2267,6 +2290,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
EXPECT_EQ(1u, warning_set.size());
EXPECT_TRUE(HasWarning(warning_set, "extid2"));
EXPECT_EQ(2u, capturing_net_log.GetSize());
+ EXPECT_TRUE(response_headers_modified2);
}
// Check that we do not delete too much
@@ -2294,11 +2318,13 @@ TEST(ExtensionWebRequestHelpersTest,
new EventResponseDelta("extid1", base::Time::FromInternalValue(2000)));
d1->deleted_response_headers.push_back(ResponseHeader("KEY1", "Value2"));
deltas.push_back(d1);
+ bool response_headers_modified1;
scoped_refptr<net::HttpResponseHeaders> new_headers1;
GURL allowed_unsafe_redirect_url1;
MergeOnHeadersReceivedResponses(GURL(kExampleUrl), deltas, base_headers.get(),
&new_headers1, &allowed_unsafe_redirect_url1,
- &warning_set, &net_log);
+ &warning_set, &net_log,
+ &response_headers_modified1);
ASSERT_TRUE(new_headers1.get());
EXPECT_TRUE(allowed_unsafe_redirect_url1.is_empty());
std::multimap<std::string, std::string> expected1;
@@ -2315,6 +2341,7 @@ TEST(ExtensionWebRequestHelpersTest,
EXPECT_EQ(expected1, actual1);
EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(1u, capturing_net_log.GetSize());
+ EXPECT_TRUE(response_headers_modified1);
}
// Tests whether onHeadersReceived can initiate a redirect.
@@ -2338,15 +2365,18 @@ TEST(ExtensionWebRequestHelpersTest,
linked_ptr<EventResponseDelta> d0(
new EventResponseDelta("extid0", base::Time::FromInternalValue(0)));
deltas.push_back(d0);
+ bool response_headers_modified0;
scoped_refptr<net::HttpResponseHeaders> new_headers0;
GURL allowed_unsafe_redirect_url0;
MergeOnHeadersReceivedResponses(GURL(kExampleUrl), deltas, base_headers.get(),
&new_headers0, &allowed_unsafe_redirect_url0,
- &warning_set, &net_log);
+ &warning_set, &net_log,
+ &response_headers_modified0);
EXPECT_FALSE(new_headers0.get());
EXPECT_TRUE(allowed_unsafe_redirect_url0.is_empty());
EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
+ EXPECT_FALSE(response_headers_modified0);
// Single redirect.
GURL new_url_1("http://foo.com");
@@ -2356,17 +2386,20 @@ TEST(ExtensionWebRequestHelpersTest,
deltas.push_back(d1);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
capturing_net_log.Clear();
+ bool response_headers_modified1;
scoped_refptr<net::HttpResponseHeaders> new_headers1;
GURL allowed_unsafe_redirect_url1;
MergeOnHeadersReceivedResponses(GURL(kExampleUrl), deltas, base_headers.get(),
&new_headers1, &allowed_unsafe_redirect_url1,
- &warning_set, &net_log);
+ &warning_set, &net_log,
+ &response_headers_modified1);
EXPECT_TRUE(new_headers1.get());
EXPECT_TRUE(new_headers1->HasHeaderValue("Location", new_url_1.spec()));
EXPECT_EQ(new_url_1, allowed_unsafe_redirect_url1);
EXPECT_TRUE(warning_set.empty());
EXPECT_EQ(1u, capturing_net_log.GetSize());
+ EXPECT_FALSE(response_headers_modified1);
}
TEST(ExtensionWebRequestHelpersTest, TestMergeOnAuthRequiredResponses) {
« no previous file with comments | « no previous file | extensions/browser/api/web_request/web_request_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698