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

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

Issue 10909096: Remove use of linked_ptr from ExtensionWarningSet Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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
« no previous file with comments | « no previous file | chrome/browser/extensions/extension_warning_set.h » ('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 c4ff795805d03987eb57f46477851091bba3f0a6..bb584772895189dd21d52d56316a65a55e7f8cd4 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
@@ -79,10 +79,9 @@ bool Contains(const Collection& collection, const Key& key) {
}
// Returns whether |warnings| contains an extension for |extension_id|.
-bool HasWarning(const std::set<linked_ptr<ExtensionWarning> > warnings,
+bool HasWarning(const ExtensionWarningSet::Set& warnings,
const std::string& extension_id) {
- for (std::set<linked_ptr<ExtensionWarning> >::const_iterator i =
- warnings.begin();
+ for (ExtensionWarningSet::Set::const_iterator i = warnings.begin();
i != warnings.end();
++i) {
if ((*i)->extension_id() == extension_id)
@@ -91,6 +90,14 @@ bool HasWarning(const std::set<linked_ptr<ExtensionWarning> > warnings,
return false;
}
+void ClearWarnings(ExtensionWarningSet::Set* warnings) {
+ // We cannot delete elements that are still in the set because operator<
+ // cannot be executed on freed pointers that are still in the set.
+ std::vector<ExtensionWarning*> tmp(warnings->begin(), warnings->end());
+ warnings->clear();
+ STLDeleteContainerPointers(tmp.begin(), tmp.end());
+}
+
} // namespace
// A mock event router that responds to events with a pre-arranged queue of
@@ -1021,7 +1028,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
ExtensionWarningSet warning_set;
- std::set<linked_ptr<ExtensionWarning> > warnings;
+ ExtensionWarningSet::Set warnings;
GURL effective_new_url;
// No redirect
@@ -1046,6 +1053,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
EXPECT_EQ(new_url_1, effective_new_url);
EXPECT_TRUE(warnings.empty());
EXPECT_EQ(1u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
// Ignored redirect (due to precedence).
GURL new_url_2("http://bar.com");
@@ -1062,6 +1070,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
EXPECT_EQ(1u, warnings.size());
EXPECT_TRUE(HasWarning(warnings, "extid2"));
EXPECT_EQ(2u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
// Overriding redirect.
GURL new_url_3("http://baz.com");
@@ -1079,6 +1088,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
EXPECT_TRUE(HasWarning(warnings, "extid1"));
EXPECT_TRUE(HasWarning(warnings, "extid2"));
EXPECT_EQ(3u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
// Check that identical redirects don't cause a conflict.
linked_ptr<EventResponseDelta> d4(
@@ -1095,6 +1105,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses) {
EXPECT_TRUE(HasWarning(warnings, "extid1"));
EXPECT_TRUE(HasWarning(warnings, "extid2"));
EXPECT_EQ(4u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
}
// This tests that we can redirect to data:// urls, which is considered
@@ -1104,7 +1115,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
ExtensionWarningSet warning_set;
- std::set<linked_ptr<ExtensionWarning> > warnings;
+ ExtensionWarningSet::Set warnings;
GURL effective_new_url;
// Single redirect.
@@ -1117,6 +1128,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
deltas, &effective_new_url, &warning_set, &net_log);
warnings = warning_set.Release();
EXPECT_EQ(new_url_0, effective_new_url);
+ ClearWarnings(&warnings);
// Cancel request by redirecting to a data:// URL. This shall override
// the other redirect but not cause any conflict warnings.
@@ -1133,6 +1145,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
EXPECT_EQ(new_url_1, effective_new_url);
EXPECT_TRUE(warnings.empty());
EXPECT_EQ(1u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
// Cancel request by redirecting to the same data:// URL. This shall
// not create any conflicts as it is in line with d1.
@@ -1149,6 +1162,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
EXPECT_EQ(new_url_1, effective_new_url);
EXPECT_TRUE(warnings.empty());
EXPECT_EQ(2u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
// Cancel redirect by redirecting to a different data:// URL. This needs
// to create a conflict.
@@ -1166,6 +1180,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses2) {
EXPECT_EQ(1u, warnings.size());
EXPECT_TRUE(HasWarning(warnings, "extid3"));
EXPECT_EQ(3u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
}
// This tests that we can redirect to about:blank, which is considered
@@ -1175,7 +1190,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses3) {
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
ExtensionWarningSet warning_set;
- std::set<linked_ptr<ExtensionWarning> > warnings;
+ ExtensionWarningSet::Set warnings;
GURL effective_new_url;
// Single redirect.
@@ -1188,6 +1203,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses3) {
deltas, &effective_new_url, &warning_set, &net_log);
warnings = warning_set.Release();
EXPECT_EQ(new_url_0, effective_new_url);
+ ClearWarnings(&warnings);
// Cancel request by redirecting to about:blank. This shall override
// the other redirect but not cause any conflict warnings.
@@ -1204,6 +1220,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses3) {
EXPECT_EQ(new_url_1, effective_new_url);
EXPECT_TRUE(warnings.empty());
EXPECT_EQ(1u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
}
TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
@@ -1213,7 +1230,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
ExtensionWarningSet warning_set;
- std::set<linked_ptr<ExtensionWarning> > warnings;
+ ExtensionWarningSet::Set warnings;
std::string header_value;
EventResponseDeltas deltas;
@@ -1231,6 +1248,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
EXPECT_EQ("value 2", header_value);
EXPECT_EQ(0u, warnings.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
// Delete, modify and add a header.
linked_ptr<EventResponseDelta> d1(
@@ -1251,6 +1269,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
EXPECT_EQ("value 3", header_value);
EXPECT_EQ(0u, warnings.size());
EXPECT_EQ(1u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
// Check that conflicts are atomic, i.e. if one header modification
// collides all other conflicts of the same extension are declined as well.
@@ -1275,6 +1294,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
EXPECT_EQ(1u, warnings.size());
EXPECT_TRUE(HasWarning(warnings, "extid2"));
EXPECT_EQ(2u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
// Check that identical modifications don't conflict and operations
// can be merged.
@@ -1300,6 +1320,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
EXPECT_EQ(1u, warnings.size());
EXPECT_TRUE(HasWarning(warnings, "extid2"));
EXPECT_EQ(3u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
}
TEST(ExtensionWebRequestHelpersTest,
@@ -1310,7 +1331,7 @@ TEST(ExtensionWebRequestHelpersTest,
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
ExtensionWarningSet warning_set;
- std::set<linked_ptr<ExtensionWarning> > warnings;
+ ExtensionWarningSet::Set warnings;
std::string header_value;
EventResponseDeltas deltas;
@@ -1362,6 +1383,7 @@ TEST(ExtensionWebRequestHelpersTest,
EXPECT_EQ("name=new value; name2=new value; name4=\"value 4\"", header_value);
EXPECT_EQ(0u, warnings.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
}
TEST(ExtensionWebRequestHelpersTest,
@@ -1369,7 +1391,7 @@ TEST(ExtensionWebRequestHelpersTest,
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
ExtensionWarningSet warning_set;
- std::set<linked_ptr<ExtensionWarning> > warnings;
+ ExtensionWarningSet::Set warnings;
std::string header_value;
EventResponseDeltas deltas;
@@ -1396,6 +1418,7 @@ TEST(ExtensionWebRequestHelpersTest,
EXPECT_FALSE(new_headers0.get());
EXPECT_EQ(0u, warnings.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
linked_ptr<ResponseCookieModification> add_cookie =
make_linked_ptr(new ResponseCookieModification);
@@ -1445,6 +1468,7 @@ TEST(ExtensionWebRequestHelpersTest,
MergeCookiesInOnHeadersReceivedResponses(
deltas, headers1.get(), &new_headers1, &warning_set, &net_log);
warnings = warning_set.Release();
+ ClearWarnings(&warnings);
EXPECT_TRUE(new_headers1->HasHeader("Foo"));
void* iter = NULL;
@@ -1465,7 +1489,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
ExtensionWarningSet warning_set;
- std::set<linked_ptr<ExtensionWarning> > warnings;
+ ExtensionWarningSet::Set warnings;
std::string header_value;
EventResponseDeltas deltas;
@@ -1490,6 +1514,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
EXPECT_FALSE(new_headers0.get());
EXPECT_EQ(0u, warnings.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
linked_ptr<EventResponseDelta> d1(
new EventResponseDelta("extid1", base::Time::FromInternalValue(2000)));
@@ -1516,6 +1541,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
EXPECT_EQ(expected1, actual1);
EXPECT_EQ(0u, warnings.size());
EXPECT_EQ(1u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
// Check that we replace response headers only once.
linked_ptr<EventResponseDelta> d2(
@@ -1541,6 +1567,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnHeadersReceivedResponses) {
EXPECT_EQ(1u, warnings.size());
EXPECT_TRUE(HasWarning(warnings, "extid2"));
EXPECT_EQ(2u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
}
// Check that we do not delete too much
@@ -1549,7 +1576,7 @@ TEST(ExtensionWebRequestHelpersTest,
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
ExtensionWarningSet warning_set;
- std::set<linked_ptr<ExtensionWarning> > warnings;
+ ExtensionWarningSet::Set warnings;
std::string header_value;
EventResponseDeltas deltas;
@@ -1588,13 +1615,14 @@ TEST(ExtensionWebRequestHelpersTest,
EXPECT_EQ(expected1, actual1);
EXPECT_EQ(0u, warnings.size());
EXPECT_EQ(1u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
}
TEST(ExtensionWebRequestHelpersTest, TestMergeOnAuthRequiredResponses) {
net::CapturingBoundNetLog capturing_net_log;
net::BoundNetLog net_log = capturing_net_log.bound();
ExtensionWarningSet warning_set;
- std::set<linked_ptr<ExtensionWarning> > warnings;
+ ExtensionWarningSet::Set warnings;
EventResponseDeltas deltas;
string16 username = ASCIIToUTF16("foo");
string16 password = ASCIIToUTF16("bar");
@@ -1612,6 +1640,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnAuthRequiredResponses) {
EXPECT_TRUE(auth0.Empty());
EXPECT_EQ(0u, warnings.size());
EXPECT_EQ(0u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
// Check that we can set AuthCredentials.
linked_ptr<EventResponseDelta> d1(
@@ -1630,6 +1659,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnAuthRequiredResponses) {
EXPECT_EQ(password, auth1.password());
EXPECT_EQ(0u, warnings.size());
EXPECT_EQ(1u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
// Check that we set AuthCredentials only once.
linked_ptr<EventResponseDelta> d2(
@@ -1649,6 +1679,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnAuthRequiredResponses) {
EXPECT_EQ(1u, warnings.size());
EXPECT_TRUE(HasWarning(warnings, "extid2"));
EXPECT_EQ(2u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
// Check that we can set identical AuthCredentials twice without causing
// a conflict.
@@ -1669,6 +1700,7 @@ TEST(ExtensionWebRequestHelpersTest, TestMergeOnAuthRequiredResponses) {
EXPECT_EQ(1u, warnings.size());
EXPECT_TRUE(HasWarning(warnings, "extid2"));
EXPECT_EQ(3u, capturing_net_log.GetSize());
+ ClearWarnings(&warnings);
}
} // namespace extensions
« no previous file with comments | « no previous file | chrome/browser/extensions/extension_warning_set.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698