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

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

Issue 10407105: Improve error messaging of webRequest API in case of conflicts (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merged with ToT Created 8 years, 3 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/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 8804d3e5b54352a8802b843d99e4a121f079813f..ba72009f542f11b58d7188a7fd4ad478de337f3e 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
@@ -24,6 +24,7 @@
#include "chrome/browser/extensions/api/web_request/web_request_api_constants.h"
#include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h"
#include "chrome/browser/extensions/event_router_forwarder.h"
+#include "chrome/browser/extensions/extension_warning_set.h"
#include "chrome/browser/net/chrome_network_delegate.h"
#include "chrome/common/extensions/extension_messages.h"
#include "chrome/common/extensions/features/feature.h"
@@ -67,6 +68,8 @@ using helpers::ResponseHeader;
using helpers::ResponseHeaders;
using helpers::StringToCharList;
+namespace extensions {
+
namespace {
static void EventHandledOnIOThread(
void* profile,
@@ -104,6 +107,17 @@ void GetPartOfMessageArguments(IPC::Message* message,
ASSERT_TRUE(list->GetDictionary(0, out));
}
+// Returns whether |warnings| contains an extension for |extension_id|.
+bool HasWarning(const std::set<ExtensionWarning>& warnings,
+ const std::string& extension_id) {
+ for (std::set<ExtensionWarning>::const_iterator i = warnings.begin();
+ i != warnings.end(); ++i) {
+ if (i->extension_id() == extension_id)
+ return true;
+ }
+ return false;
+}
+
} // namespace
// A mock event router that responds to events with a pre-arranged queue of
@@ -153,7 +167,7 @@ class ExtensionWebRequestTest : public testing::Test {
protected:
virtual void SetUp() OVERRIDE {
- event_router_ = new extensions::EventRouterForwarder();
+ event_router_ = new EventRouterForwarder();
enable_referrers_.Init(
prefs::kEnableReferrers, profile_.GetTestingPrefService(), NULL);
network_delegate_.reset(new ChromeNetworkDelegate(
@@ -179,7 +193,7 @@ class ExtensionWebRequestTest : public testing::Test {
TestDelegate delegate_;
BooleanPrefMember enable_referrers_;
TestIPCSender ipc_sender_;
- scoped_refptr<extensions::EventRouterForwarder> event_router_;
+ scoped_refptr<EventRouterForwarder> event_router_;
scoped_refptr<ExtensionInfoMap> extension_info_map_;
scoped_ptr<ChromeNetworkDelegate> network_delegate_;
scoped_ptr<TestURLRequestContext> context_;
@@ -697,7 +711,7 @@ class ExtensionWebRequestHeaderModificationTest :
protected:
virtual void SetUp() {
- event_router_ = new extensions::EventRouterForwarder();
+ event_router_ = new EventRouterForwarder();
enable_referrers_.Init(
prefs::kEnableReferrers, profile_.GetTestingPrefService(), NULL);
network_delegate_.reset(new ChromeNetworkDelegate(
@@ -719,7 +733,7 @@ class ExtensionWebRequestHeaderModificationTest :
TestDelegate delegate_;
BooleanPrefMember enable_referrers_;
TestIPCSender ipc_sender_;
- scoped_refptr<extensions::EventRouterForwarder> event_router_;
+ scoped_refptr<EventRouterForwarder> event_router_;
scoped_refptr<ExtensionInfoMap> extension_info_map_;
scoped_ptr<ChromeNetworkDelegate> network_delegate_;
scoped_ptr<net::MockHostResolver> host_resolver_;
@@ -1217,7 +1231,7 @@ TEST(ExtensionWebRequestHelpersTest, TestCalculateOnHeadersReceivedDelta) {
EXPECT_TRUE(Contains(delta->deleted_response_headers,
ResponseHeader("Key2", "Value2, Bar")));
EXPECT_TRUE(Contains(delta->deleted_response_headers,
- ResponseHeader("Key3", "Value3")));
+ ResponseHeader("Key3", "Value3")));
}
TEST(ExtensionWebRequestHelpersTest, TestCalculateOnAuthRequiredDelta) {
@@ -1268,7 +1282,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
EventResponseDeltas deltas;
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
- std::set<std::string> conflicting_extensions;
+ std::set<ExtensionWarning> warning_set;
GURL effective_new_url;
// No redirect
@@ -1276,7 +1290,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
new EventResponseDelta("extid0", base::Time::FromInternalValue(0)));
deltas.push_back(d0);
MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &conflicting_extensions, &net_log);
+ deltas, &effective_new_url, &warning_set, &net_log);
EXPECT_TRUE(effective_new_url.is_empty());
// Single redirect.
@@ -1288,9 +1302,9 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
capturing_net_log.Clear();
MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &conflicting_extensions, &net_log);
+ deltas, &effective_new_url, &warning_set, &net_log);
EXPECT_EQ(new_url_1, effective_new_url);
- EXPECT_TRUE(conflicting_extensions.empty());
+ EXPECT_TRUE(warning_set.empty());
EXPECT_EQ(1u, capturing_net_log.GetSize());
// Ignored redirect (due to precedence).
@@ -1300,12 +1314,13 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
d2->new_url = GURL(new_url_2);
deltas.push_back(d2);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
+ warning_set.clear();
capturing_net_log.Clear();
MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &conflicting_extensions, &net_log);
+ deltas, &effective_new_url, &warning_set, &net_log);
EXPECT_EQ(new_url_1, effective_new_url);
- EXPECT_EQ(1u, conflicting_extensions.size());
- EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid2"));
+ EXPECT_EQ(1u, warning_set.size());
+ EXPECT_TRUE(HasWarning(warning_set, "extid2"));
EXPECT_EQ(2u, capturing_net_log.GetSize());
// Overriding redirect.
@@ -1315,14 +1330,14 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
d3->new_url = GURL(new_url_3);
deltas.push_back(d3);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
- conflicting_extensions.clear();
+ warning_set.clear();
capturing_net_log.Clear();
MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &conflicting_extensions, &net_log);
+ deltas, &effective_new_url, &warning_set, &net_log);
EXPECT_EQ(new_url_3, effective_new_url);
- EXPECT_EQ(2u, conflicting_extensions.size());
- EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid1"));
- EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid2"));
+ EXPECT_EQ(2u, warning_set.size());
+ EXPECT_TRUE(HasWarning(warning_set, "extid1"));
+ EXPECT_TRUE(HasWarning(warning_set, "extid2"));
EXPECT_EQ(3u, capturing_net_log.GetSize());
// Check that identical redirects don't cause a conflict.
@@ -1331,14 +1346,14 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
d4->new_url = GURL(new_url_3);
deltas.push_back(d4);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
- conflicting_extensions.clear();
+ warning_set.clear();
capturing_net_log.Clear();
MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &conflicting_extensions, &net_log);
+ deltas, &effective_new_url, &warning_set, &net_log);
EXPECT_EQ(new_url_3, effective_new_url);
- EXPECT_EQ(2u, conflicting_extensions.size());
- EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid1"));
- EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid2"));
+ EXPECT_EQ(2u, warning_set.size());
+ EXPECT_TRUE(HasWarning(warning_set, "extid1"));
+ EXPECT_TRUE(HasWarning(warning_set, "extid2"));
EXPECT_EQ(4u, capturing_net_log.GetSize());
}
@@ -1348,7 +1363,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
EventResponseDeltas deltas;
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
- std::set<std::string> conflicting_extensions;
+ std::set<ExtensionWarning> warning_set;
GURL effective_new_url;
// Single redirect.
@@ -1358,7 +1373,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
d0->new_url = GURL(new_url_0);
deltas.push_back(d0);
MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &conflicting_extensions, &net_log);
+ 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
@@ -1369,11 +1384,12 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
d1->new_url = GURL(new_url_1);
deltas.push_back(d1);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
+ warning_set.clear();
capturing_net_log.Clear();
MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &conflicting_extensions, &net_log);
+ deltas, &effective_new_url, &warning_set, &net_log);
EXPECT_EQ(new_url_1, effective_new_url);
- EXPECT_TRUE(conflicting_extensions.empty());
+ EXPECT_TRUE(warning_set.empty());
EXPECT_EQ(1u, capturing_net_log.GetSize());
// Cancel request by redirecting to the same data:// URL. This shall
@@ -1384,11 +1400,12 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
d2->new_url = GURL(new_url_2);
deltas.push_back(d2);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
+ warning_set.clear();
capturing_net_log.Clear();
MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &conflicting_extensions, &net_log);
+ deltas, &effective_new_url, &warning_set, &net_log);
EXPECT_EQ(new_url_1, effective_new_url);
- EXPECT_TRUE(conflicting_extensions.empty());
+ EXPECT_TRUE(warning_set.empty());
EXPECT_EQ(2u, capturing_net_log.GetSize());
// Cancel redirect by redirecting to a different data:// URL. This needs
@@ -1399,12 +1416,13 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
d3->new_url = GURL(new_url_3);
deltas.push_back(d3);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
+ warning_set.clear();
capturing_net_log.Clear();
MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &conflicting_extensions, &net_log);
+ deltas, &effective_new_url, &warning_set, &net_log);
EXPECT_EQ(new_url_1, effective_new_url);
- EXPECT_EQ(1u, conflicting_extensions.size());
- EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid3"));
+ EXPECT_EQ(1u, warning_set.size());
+ EXPECT_TRUE(HasWarning(warning_set, "extid3"));
EXPECT_EQ(3u, capturing_net_log.GetSize());
}
@@ -1414,7 +1432,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses3) {
EventResponseDeltas deltas;
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
- std::set<std::string> conflicting_extensions;
+ std::set<ExtensionWarning> warning_set;
GURL effective_new_url;
// Single redirect.
@@ -1424,7 +1442,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses3) {
d0->new_url = GURL(new_url_0);
deltas.push_back(d0);
MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &conflicting_extensions, &net_log);
+ 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
@@ -1435,11 +1453,12 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses3) {
d1->new_url = GURL(new_url_1);
deltas.push_back(d1);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
+ warning_set.clear();
capturing_net_log.Clear();
MergeOnBeforeRequestResponses(
- deltas, &effective_new_url, &conflicting_extensions, &net_log);
+ deltas, &effective_new_url, &warning_set, &net_log);
EXPECT_EQ(new_url_1, effective_new_url);
- EXPECT_TRUE(conflicting_extensions.empty());
+ EXPECT_TRUE(warning_set.empty());
EXPECT_EQ(1u, capturing_net_log.GetSize());
}
@@ -1449,7 +1468,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
base_headers.AddHeaderFromString("key2: value 2");
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
- std::set<std::string> conflicting_extensions;
+ std::set<ExtensionWarning> warning_set;
std::string header_value;
EventResponseDeltas deltas;
@@ -1459,13 +1478,12 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
deltas.push_back(d0);
net::HttpRequestHeaders headers0;
headers0.MergeFrom(base_headers);
- MergeOnBeforeSendHeadersResponses(
- deltas, &headers0, &conflicting_extensions, &net_log);
+ MergeOnBeforeSendHeadersResponses(deltas, &headers0, &warning_set, &net_log);
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, conflicting_extensions.size());
+ EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
// Delete, modify and add a header.
@@ -1476,16 +1494,17 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
d1->modified_request_headers.AddHeaderFromString("key3: value 3");
deltas.push_back(d1);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
+ warning_set.clear();
+ capturing_net_log.Clear();
net::HttpRequestHeaders headers1;
headers1.MergeFrom(base_headers);
- MergeOnBeforeSendHeadersResponses(
- deltas, &headers1, &conflicting_extensions, &net_log);
+ MergeOnBeforeSendHeadersResponses(deltas, &headers1, &warning_set, &net_log);
EXPECT_FALSE(headers1.HasHeader("key1"));
ASSERT_TRUE(headers1.GetHeader("key2", &header_value));
EXPECT_EQ("value 3", header_value);
ASSERT_TRUE(headers1.GetHeader("key3", &header_value));
EXPECT_EQ("value 3", header_value);
- EXPECT_EQ(0u, conflicting_extensions.size());
+ EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(1u, capturing_net_log.GetSize());
// Check that conflicts are atomic, i.e. if one header modification
@@ -1497,20 +1516,19 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
d2->modified_request_headers.AddHeaderFromString("key4: value 4");
deltas.push_back(d2);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
- conflicting_extensions.clear();
+ warning_set.clear();
capturing_net_log.Clear();
net::HttpRequestHeaders headers2;
headers2.MergeFrom(base_headers);
- MergeOnBeforeSendHeadersResponses(
- deltas, &headers2, &conflicting_extensions, &net_log);
+ MergeOnBeforeSendHeadersResponses(deltas, &headers2, &warning_set, &net_log);
EXPECT_FALSE(headers2.HasHeader("key1"));
ASSERT_TRUE(headers2.GetHeader("key2", &header_value));
EXPECT_EQ("value 3", header_value);
ASSERT_TRUE(headers2.GetHeader("key3", &header_value));
EXPECT_EQ("value 3", header_value);
EXPECT_FALSE(headers2.HasHeader("key4"));
- EXPECT_EQ(1u, conflicting_extensions.size());
- EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid2"));
+ EXPECT_EQ(1u, warning_set.size());
+ EXPECT_TRUE(HasWarning(warning_set, "extid2"));
EXPECT_EQ(2u, capturing_net_log.GetSize());
// Check that identical modifications don't conflict and operations
@@ -1522,12 +1540,11 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
d3->modified_request_headers.AddHeaderFromString("key5: value 5");
deltas.push_back(d3);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
- conflicting_extensions.clear();
+ warning_set.clear();
capturing_net_log.Clear();
net::HttpRequestHeaders headers3;
headers3.MergeFrom(base_headers);
- MergeOnBeforeSendHeadersResponses(
- deltas, &headers3, &conflicting_extensions, &net_log);
+ MergeOnBeforeSendHeadersResponses(deltas, &headers3, &warning_set, &net_log);
EXPECT_FALSE(headers3.HasHeader("key1"));
ASSERT_TRUE(headers3.GetHeader("key2", &header_value));
EXPECT_EQ("value 3", header_value);
@@ -1535,8 +1552,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
EXPECT_EQ("value 3", header_value);
ASSERT_TRUE(headers3.GetHeader("key5", &header_value));
EXPECT_EQ("value 5", header_value);
- EXPECT_EQ(1u, conflicting_extensions.size());
- EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid2"));
+ EXPECT_EQ(1u, warning_set.size());
+ EXPECT_TRUE(HasWarning(warning_set, "extid2"));
EXPECT_EQ(3u, capturing_net_log.GetSize());
}
@@ -1547,7 +1564,7 @@ TEST(ExtensionWebRequestHelpersTest,
"Cookie: name=value; name2=value2; name3=value3");
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
- std::set<std::string> conflicting_extensions;
+ std::set<ExtensionWarning> warning_set;
std::string header_value;
EventResponseDeltas deltas;
@@ -1592,12 +1609,12 @@ TEST(ExtensionWebRequestHelpersTest,
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
net::HttpRequestHeaders headers1;
headers1.MergeFrom(base_headers);
- MergeOnBeforeSendHeadersResponses(
- deltas, &headers1, &conflicting_extensions, &net_log);
+ warning_set.clear();
+ MergeOnBeforeSendHeadersResponses(deltas, &headers1, &warning_set, &net_log);
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, conflicting_extensions.size());
+ EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
}
@@ -1605,7 +1622,7 @@ TEST(ExtensionWebRequestHelpersTest,
TestMergeCookiesInOnHeadersReceivedResponses) {
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
- std::set<std::string> conflicting_extensions;
+ std::set<ExtensionWarning> warning_set;
std::string header_value;
EventResponseDeltas deltas;
@@ -1627,10 +1644,9 @@ TEST(ExtensionWebRequestHelpersTest,
deltas.push_back(d0);
scoped_refptr<net::HttpResponseHeaders> new_headers0;
MergeCookiesInOnHeadersReceivedResponses(
- deltas, base_headers.get(), &new_headers0, &conflicting_extensions,
- &net_log);
+ deltas, base_headers.get(), &new_headers0, &warning_set, &net_log);
EXPECT_FALSE(new_headers0.get());
- EXPECT_EQ(0u, conflicting_extensions.size());
+ EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
linked_ptr<ResponseCookieModification> add_cookie =
@@ -1678,8 +1694,9 @@ TEST(ExtensionWebRequestHelpersTest,
net::HttpUtil::AssembleRawHeaders(
base_headers_string, sizeof(base_headers_string))));
scoped_refptr<net::HttpResponseHeaders> new_headers1;
+ warning_set.clear();
MergeCookiesInOnHeadersReceivedResponses(
- deltas, headers1.get(), &new_headers1, &conflicting_extensions, &net_log);
+ deltas, headers1.get(), &new_headers1, &warning_set, &net_log);
EXPECT_TRUE(new_headers1->HasHeader("Foo"));
void* iter = NULL;
@@ -1692,14 +1709,14 @@ TEST(ExtensionWebRequestHelpersTest,
while (new_headers1->EnumerateHeader(&iter, "Set-Cookie", &cookie_string))
actual_cookies.insert(cookie_string);
EXPECT_EQ(expected_cookies, actual_cookies);
- EXPECT_EQ(0u, conflicting_extensions.size());
+ EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
}
TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
- std::set<std::string> conflicting_extensions;
+ std::set<ExtensionWarning> warning_set;
std::string header_value;
EventResponseDeltas deltas;
@@ -1718,11 +1735,10 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
new EventResponseDelta("extid0", base::Time::FromInternalValue(3000)));
deltas.push_back(d0);
scoped_refptr<net::HttpResponseHeaders> new_headers0;
- MergeOnHeadersReceivedResponses(
- deltas, base_headers.get(), &new_headers0, &conflicting_extensions,
- &net_log);
+ MergeOnHeadersReceivedResponses(deltas, base_headers.get(), &new_headers0,
+ &warning_set, &net_log);
EXPECT_FALSE(new_headers0.get());
- EXPECT_EQ(0u, conflicting_extensions.size());
+ EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
linked_ptr<EventResponseDelta> d1(
@@ -1732,12 +1748,11 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
d1->added_response_headers.push_back(ResponseHeader("Key2", "Value3"));
deltas.push_back(d1);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
- conflicting_extensions.clear();
+ warning_set.clear();
capturing_net_log.Clear();
scoped_refptr<net::HttpResponseHeaders> new_headers1;
MergeOnHeadersReceivedResponses(
- deltas, base_headers.get(), &new_headers1, &conflicting_extensions,
- &net_log);
+ deltas, base_headers.get(), &new_headers1, &warning_set, &net_log);
ASSERT_TRUE(new_headers1.get());
std::multimap<std::string, std::string> expected1;
expected1.insert(std::pair<std::string, std::string>("Key2", "Value3"));
@@ -1749,7 +1764,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
actual1.insert(std::pair<std::string, std::string>(name, value));
}
EXPECT_EQ(expected1, actual1);
- EXPECT_EQ(0u, conflicting_extensions.size());
+ EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(1u, capturing_net_log.GetSize());
// Check that we replace response headers only once.
@@ -1761,12 +1776,11 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
d2->added_response_headers.push_back(ResponseHeader("Key2", "Value4"));
deltas.push_back(d2);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
- conflicting_extensions.clear();
+ warning_set.clear();
capturing_net_log.Clear();
scoped_refptr<net::HttpResponseHeaders> new_headers2;
MergeOnHeadersReceivedResponses(
- deltas, base_headers.get(), &new_headers2, &conflicting_extensions,
- &net_log);
+ deltas, base_headers.get(), &new_headers2, &warning_set, &net_log);
ASSERT_TRUE(new_headers2.get());
iter = NULL;
std::multimap<std::string, std::string> actual2;
@@ -1774,8 +1788,8 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
actual2.insert(std::pair<std::string, std::string>(name, value));
}
EXPECT_EQ(expected1, actual2);
- EXPECT_EQ(1u, conflicting_extensions.size());
- EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid2"));
+ EXPECT_EQ(1u, warning_set.size());
+ EXPECT_TRUE(HasWarning(warning_set, "extid2"));
EXPECT_EQ(2u, capturing_net_log.GetSize());
}
@@ -1784,7 +1798,7 @@ TEST(ExtensionWebRequestHelpersTest,
TestMergeOnHeadersReceivedResponsesDeletion) {
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
- std::set<std::string> conflicting_extensions;
+ std::set<ExtensionWarning> warning_set;
std::string header_value;
EventResponseDeltas deltas;
@@ -1806,8 +1820,7 @@ TEST(ExtensionWebRequestHelpersTest,
deltas.push_back(d1);
scoped_refptr<net::HttpResponseHeaders> new_headers1;
MergeOnHeadersReceivedResponses(
- deltas, base_headers.get(), &new_headers1, &conflicting_extensions,
- &net_log);
+ deltas, base_headers.get(), &new_headers1, &warning_set, &net_log);
ASSERT_TRUE(new_headers1.get());
std::multimap<std::string, std::string> expected1;
expected1.insert(std::pair<std::string, std::string>("Key1", "Value1"));
@@ -1821,14 +1834,14 @@ TEST(ExtensionWebRequestHelpersTest,
actual1.insert(std::pair<std::string, std::string>(name, value));
}
EXPECT_EQ(expected1, actual1);
- EXPECT_EQ(0u, conflicting_extensions.size());
+ EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(1u, capturing_net_log.GetSize());
}
TEST(ExtensionWebRequestHelpersTest, TestMergeOnAuthRequiredResponses) {
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
- std::set<std::string> conflicting_extensions;
+ std::set<ExtensionWarning> warning_set;
EventResponseDeltas deltas;
string16 username = ASCIIToUTF16("foo");
string16 password = ASCIIToUTF16("bar");
@@ -1840,10 +1853,10 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnAuthRequiredResponses) {
deltas.push_back(d0);
net::AuthCredentials auth0;
bool credentials_set = MergeOnAuthRequiredResponses(
- deltas, &auth0, &conflicting_extensions, &net_log);
+ deltas, &auth0, &warning_set, &net_log);
EXPECT_FALSE(credentials_set);
EXPECT_TRUE(auth0.Empty());
- EXPECT_EQ(0u, conflicting_extensions.size());
+ EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
// Check that we can set AuthCredentials.
@@ -1852,16 +1865,16 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnAuthRequiredResponses) {
d1->auth_credentials.reset(new net::AuthCredentials(username, password));
deltas.push_back(d1);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
- conflicting_extensions.clear();
+ warning_set.clear();
capturing_net_log.Clear();
net::AuthCredentials auth1;
credentials_set = MergeOnAuthRequiredResponses(
- deltas, &auth1, &conflicting_extensions, &net_log);
+ deltas, &auth1, &warning_set, &net_log);
EXPECT_TRUE(credentials_set);
EXPECT_FALSE(auth1.Empty());
EXPECT_EQ(username, auth1.username());
EXPECT_EQ(password, auth1.password());
- EXPECT_EQ(0u, conflicting_extensions.size());
+ EXPECT_EQ(0u, warning_set.size());
EXPECT_EQ(1u, capturing_net_log.GetSize());
// Check that we set AuthCredentials only once.
@@ -1870,17 +1883,17 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnAuthRequiredResponses) {
d2->auth_credentials.reset(new net::AuthCredentials(username, password2));
deltas.push_back(d2);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
- conflicting_extensions.clear();
+ warning_set.clear();
capturing_net_log.Clear();
net::AuthCredentials auth2;
credentials_set = MergeOnAuthRequiredResponses(
- deltas, &auth2, &conflicting_extensions, &net_log);
+ deltas, &auth2, &warning_set, &net_log);
EXPECT_TRUE(credentials_set);
EXPECT_FALSE(auth2.Empty());
EXPECT_EQ(username, auth1.username());
EXPECT_EQ(password, auth1.password());
- EXPECT_EQ(1u, conflicting_extensions.size());
- EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid2"));
+ EXPECT_EQ(1u, warning_set.size());
+ EXPECT_TRUE(HasWarning(warning_set, "extid2"));
EXPECT_EQ(2u, capturing_net_log.GetSize());
// Check that we can set identical AuthCredentials twice without causing
@@ -1890,16 +1903,18 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnAuthRequiredResponses) {
d3->auth_credentials.reset(new net::AuthCredentials(username, password));
deltas.push_back(d3);
deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
- conflicting_extensions.clear();
+ warning_set.clear();
capturing_net_log.Clear();
net::AuthCredentials auth3;
credentials_set = MergeOnAuthRequiredResponses(
- deltas, &auth3, &conflicting_extensions, &net_log);
+ deltas, &auth3, &warning_set, &net_log);
EXPECT_TRUE(credentials_set);
EXPECT_FALSE(auth3.Empty());
EXPECT_EQ(username, auth1.username());
EXPECT_EQ(password, auth1.password());
- EXPECT_EQ(1u, conflicting_extensions.size());
- EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid2"));
+ EXPECT_EQ(1u, warning_set.size());
+ EXPECT_TRUE(HasWarning(warning_set, "extid2"));
EXPECT_EQ(3u, capturing_net_log.GetSize());
}
+
+} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698