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

Side by Side Diff: chrome/browser/extensions/api/web_request/web_request_api_unittest.cc

Issue 9857009: Consider redirects to about:blank as canceling and don't flag conflicts (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Nit Created 8 years, 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/extensions/api/web_request/web_request_api_helpers.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <queue> 5 #include <queue>
6 #include <map> 6 #include <map>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 1124 matching lines...) Expand 10 before | Expand all | Expand 10 after
1135 deltas.sort(&InDecreasingExtensionInstallationTimeOrder); 1135 deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
1136 event_log.clear(); 1136 event_log.clear();
1137 MergeOnBeforeRequestResponses( 1137 MergeOnBeforeRequestResponses(
1138 deltas, &effective_new_url, &conflicting_extensions, &event_log); 1138 deltas, &effective_new_url, &conflicting_extensions, &event_log);
1139 EXPECT_EQ(new_url_1, effective_new_url); 1139 EXPECT_EQ(new_url_1, effective_new_url);
1140 EXPECT_EQ(1u, conflicting_extensions.size()); 1140 EXPECT_EQ(1u, conflicting_extensions.size());
1141 EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid3")); 1141 EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid3"));
1142 EXPECT_EQ(3u, event_log.size()); 1142 EXPECT_EQ(3u, event_log.size());
1143 } 1143 }
1144 1144
1145 // This tests that we can redirect to about:blank, which is considered
1146 // a kind of cancelling requests.
1147 TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeRequestResponses3) {
1148 EventResponseDeltas deltas;
1149 EventLogEntries event_log;
1150 std::set<std::string> conflicting_extensions;
1151 GURL effective_new_url;
1152
1153 // Single redirect.
1154 GURL new_url_0("http://foo.com");
1155 linked_ptr<EventResponseDelta> d0(
1156 new EventResponseDelta("extid0", base::Time::FromInternalValue(2000)));
1157 d0->new_url = GURL(new_url_0);
1158 deltas.push_back(d0);
1159 MergeOnBeforeRequestResponses(
1160 deltas, &effective_new_url, &conflicting_extensions, &event_log);
1161 EXPECT_EQ(new_url_0, effective_new_url);
1162
1163 // Cancel request by redirecting to about:blank. This shall override
1164 // the other redirect but not cause any conflict warnings.
1165 GURL new_url_1("about:blank");
1166 linked_ptr<EventResponseDelta> d1(
1167 new EventResponseDelta("extid1", base::Time::FromInternalValue(1500)));
1168 d1->new_url = GURL(new_url_1);
1169 deltas.push_back(d1);
1170 deltas.sort(&InDecreasingExtensionInstallationTimeOrder);
1171 event_log.clear();
1172 MergeOnBeforeRequestResponses(
1173 deltas, &effective_new_url, &conflicting_extensions, &event_log);
1174 EXPECT_EQ(new_url_1, effective_new_url);
1175 EXPECT_TRUE(conflicting_extensions.empty());
1176 EXPECT_EQ(1u, event_log.size());
1177 }
1178
1145 TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) { 1179 TEST(ExtensionWebRequestHelpersTest, TestMergeOnBeforeSendHeadersResponses) {
1146 net::HttpRequestHeaders base_headers; 1180 net::HttpRequestHeaders base_headers;
1147 base_headers.AddHeaderFromString("key1: value 1"); 1181 base_headers.AddHeaderFromString("key1: value 1");
1148 base_headers.AddHeaderFromString("key2: value 2"); 1182 base_headers.AddHeaderFromString("key2: value 2");
1149 EventLogEntries event_log; 1183 EventLogEntries event_log;
1150 std::set<std::string> conflicting_extensions; 1184 std::set<std::string> conflicting_extensions;
1151 std::string header_value; 1185 std::string header_value;
1152 EventResponseDeltas deltas; 1186 EventResponseDeltas deltas;
1153 1187
1154 // Check that we can handle not changing the headers. 1188 // Check that we can handle not changing the headers.
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
1435 credentials_set = MergeOnAuthRequiredResponses( 1469 credentials_set = MergeOnAuthRequiredResponses(
1436 deltas, &auth3, &conflicting_extensions, &event_log); 1470 deltas, &auth3, &conflicting_extensions, &event_log);
1437 EXPECT_TRUE(credentials_set); 1471 EXPECT_TRUE(credentials_set);
1438 EXPECT_FALSE(auth3.Empty()); 1472 EXPECT_FALSE(auth3.Empty());
1439 EXPECT_EQ(username, auth1.username()); 1473 EXPECT_EQ(username, auth1.username());
1440 EXPECT_EQ(password, auth1.password()); 1474 EXPECT_EQ(password, auth1.password());
1441 EXPECT_EQ(1u, conflicting_extensions.size()); 1475 EXPECT_EQ(1u, conflicting_extensions.size());
1442 EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid2")); 1476 EXPECT_TRUE(ContainsKey(conflicting_extensions, "extid2"));
1443 EXPECT_EQ(3u, event_log.size()); 1477 EXPECT_EQ(3u, event_log.size());
1444 } 1478 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/web_request/web_request_api_helpers.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698