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

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

Issue 10559036: Added URLRequestContext to constructor for URLRequest. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Merged with latest version Created 8 years, 6 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
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 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 160 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING,
161 ipc_sender_factory.GetWeakPtr()); 161 ipc_sender_factory.GetWeakPtr());
162 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( 162 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener(
163 &profile_, extension2_id, extension2_id, kEventName, kEventName + "/2", 163 &profile_, extension2_id, extension2_id, kEventName, kEventName + "/2",
164 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 164 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING,
165 ipc_sender_factory.GetWeakPtr()); 165 ipc_sender_factory.GetWeakPtr());
166 166
167 GURL redirect_url("about:redirected"); 167 GURL redirect_url("about:redirected");
168 GURL not_chosen_redirect_url("about:not_chosen"); 168 GURL not_chosen_redirect_url("about:not_chosen");
169 169
170 net::URLRequest request(GURL("about:blank"), &delegate_); 170 net::URLRequest request(GURL("about:blank"), &delegate_, context_.get());
171 request.set_context(context_.get());
172 { 171 {
173 // onBeforeRequest will be dispatched twice initially. The second response - 172 // onBeforeRequest will be dispatched twice initially. The second response -
174 // the redirect - should win, since it has a later |install_time|. The 173 // the redirect - should win, since it has a later |install_time|. The
175 // redirect will dispatch another pair of onBeforeRequest. There, the first 174 // redirect will dispatch another pair of onBeforeRequest. There, the first
176 // response should win (later |install_time|). 175 // response should win (later |install_time|).
177 ExtensionWebRequestEventRouter::EventResponse* response = NULL; 176 ExtensionWebRequestEventRouter::EventResponse* response = NULL;
178 177
179 // Extension1 response. Arrives first, but ignored due to install_time. 178 // Extension1 response. Arrives first, but ignored due to install_time.
180 response = new ExtensionWebRequestEventRouter::EventResponse( 179 response = new ExtensionWebRequestEventRouter::EventResponse(
181 extension1_id, base::Time::FromDoubleT(1)); 180 extension1_id, base::Time::FromDoubleT(1));
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 214
216 EXPECT_TRUE(!request.is_pending()); 215 EXPECT_TRUE(!request.is_pending());
217 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request.status().status()); 216 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request.status().status());
218 EXPECT_EQ(0, request.status().error()); 217 EXPECT_EQ(0, request.status().error());
219 EXPECT_EQ(redirect_url, request.url()); 218 EXPECT_EQ(redirect_url, request.url());
220 EXPECT_EQ(2U, request.url_chain().size()); 219 EXPECT_EQ(2U, request.url_chain().size());
221 EXPECT_EQ(0U, ipc_sender_.GetNumTasks()); 220 EXPECT_EQ(0U, ipc_sender_.GetNumTasks());
222 } 221 }
223 222
224 // Now test the same thing but the extensions answer in reverse order. 223 // Now test the same thing but the extensions answer in reverse order.
225 net::URLRequest request2(GURL("about:blank"), &delegate_); 224 net::URLRequest request2(GURL("about:blank"), &delegate_, context_.get());
226 request2.set_context(context_.get());
227 { 225 {
228 ExtensionWebRequestEventRouter::EventResponse* response = NULL; 226 ExtensionWebRequestEventRouter::EventResponse* response = NULL;
229 227
230 // Extension2 response. Arrives first, and chosen because of install_time. 228 // Extension2 response. Arrives first, and chosen because of install_time.
231 response = new ExtensionWebRequestEventRouter::EventResponse( 229 response = new ExtensionWebRequestEventRouter::EventResponse(
232 extension2_id, base::Time::FromDoubleT(2)); 230 extension2_id, base::Time::FromDoubleT(2));
233 response->new_url = redirect_url; 231 response->new_url = redirect_url;
234 ipc_sender_.PushTask( 232 ipc_sender_.PushTask(
235 base::Bind(&EventHandledOnIOThread, 233 base::Bind(&EventHandledOnIOThread,
236 &profile_, extension2_id, kEventName, kEventName + "/2", 234 &profile_, extension2_id, kEventName, kEventName + "/2",
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( 287 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener(
290 &profile_, extension1_id, extension1_id, kEventName, kEventName + "/1", 288 &profile_, extension1_id, extension1_id, kEventName, kEventName + "/1",
291 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 289 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING,
292 ipc_sender_factory.GetWeakPtr()); 290 ipc_sender_factory.GetWeakPtr());
293 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( 291 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener(
294 &profile_, extension2_id, extension2_id, kEventName, kEventName + "/2", 292 &profile_, extension2_id, extension2_id, kEventName, kEventName + "/2",
295 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 293 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING,
296 ipc_sender_factory.GetWeakPtr()); 294 ipc_sender_factory.GetWeakPtr());
297 295
298 GURL request_url("about:blank"); 296 GURL request_url("about:blank");
299 net::URLRequest request(request_url, &delegate_); 297 net::URLRequest request(request_url, &delegate_, context_.get());
300 request.set_context(context_.get());
301 298
302 // onBeforeRequest will be dispatched twice. The second response - 299 // onBeforeRequest will be dispatched twice. The second response -
303 // the redirect - would win, since it has a later |install_time|, but 300 // the redirect - would win, since it has a later |install_time|, but
304 // the first response takes precedence because cancel >> redirect. 301 // the first response takes precedence because cancel >> redirect.
305 GURL redirect_url("about:redirected"); 302 GURL redirect_url("about:redirected");
306 ExtensionWebRequestEventRouter::EventResponse* response = NULL; 303 ExtensionWebRequestEventRouter::EventResponse* response = NULL;
307 304
308 // Extension1 response. Arrives first, would be ignored in principle due to 305 // Extension1 response. Arrives first, would be ignored in principle due to
309 // install_time but "cancel" always wins. 306 // install_time but "cancel" always wins.
310 response = new ExtensionWebRequestEventRouter::EventResponse( 307 response = new ExtensionWebRequestEventRouter::EventResponse(
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); 354 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_);
358 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( 355 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener(
359 &profile_, extension_id, extension_id, kEventName, kEventName + "/1", 356 &profile_, extension_id, extension_id, kEventName, kEventName + "/1",
360 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 357 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING,
361 ipc_sender_factory.GetWeakPtr()); 358 ipc_sender_factory.GetWeakPtr());
362 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( 359 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener(
363 &profile_, extension_id, extension_id, kEventName2, kEventName2 + "/1", 360 &profile_, extension_id, extension_id, kEventName2, kEventName2 + "/1",
364 filter, 0, ipc_sender_factory.GetWeakPtr()); 361 filter, 0, ipc_sender_factory.GetWeakPtr());
365 362
366 GURL request_url("about:blank"); 363 GURL request_url("about:blank");
367 net::URLRequest request(request_url, &delegate_); 364 net::URLRequest request(request_url, &delegate_, context_.get());
368 request.set_context(context_.get());
369 365
370 ExtensionWebRequestEventRouter::EventResponse* response = NULL; 366 ExtensionWebRequestEventRouter::EventResponse* response = NULL;
371 367
372 // Extension response for the OnBeforeRequest handler. This should not be 368 // Extension response for the OnBeforeRequest handler. This should not be
373 // processed because request is canceled before the handler responds. 369 // processed because request is canceled before the handler responds.
374 response = new ExtensionWebRequestEventRouter::EventResponse( 370 response = new ExtensionWebRequestEventRouter::EventResponse(
375 extension_id, base::Time::FromDoubleT(1)); 371 extension_id, base::Time::FromDoubleT(1));
376 GURL redirect_url("about:redirected"); 372 GURL redirect_url("about:redirected");
377 response->new_url = redirect_url; 373 response->new_url = redirect_url;
378 ipc_sender_.PushTask( 374 ipc_sender_.PushTask(
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 ipc_sender_factory.GetWeakPtr()); 484 ipc_sender_factory.GetWeakPtr());
489 485
490 // Install one extension that observes the final headers. 486 // Install one extension that observes the final headers.
491 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( 487 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener(
492 &profile_, extension3_id, extension3_id, keys::kOnSendHeaders, 488 &profile_, extension3_id, extension3_id, keys::kOnSendHeaders,
493 std::string(keys::kOnSendHeaders) + "/3", filter, 489 std::string(keys::kOnSendHeaders) + "/3", filter,
494 ExtensionWebRequestEventRouter::ExtraInfoSpec::REQUEST_HEADERS, 490 ExtensionWebRequestEventRouter::ExtraInfoSpec::REQUEST_HEADERS,
495 ipc_sender_factory.GetWeakPtr()); 491 ipc_sender_factory.GetWeakPtr());
496 492
497 GURL request_url("http://doesnotexist/does_not_exist.html"); 493 GURL request_url("http://doesnotexist/does_not_exist.html");
498 net::URLRequest request(request_url, &delegate_); 494 net::URLRequest request(request_url, &delegate_, context_.get());
499 request.set_context(context_.get());
500 495
501 // Initialize headers available before extensions are notified of the 496 // Initialize headers available before extensions are notified of the
502 // onBeforeSendHeaders event. 497 // onBeforeSendHeaders event.
503 HeaderModificationTest test = GetParam(); 498 HeaderModificationTest test = GetParam();
504 net::HttpRequestHeaders before_headers; 499 net::HttpRequestHeaders before_headers;
505 for (int i = 0; i < test.before_size; ++i) 500 for (int i = 0; i < test.before_size; ++i)
506 before_headers.SetHeader(test.before[i].name, test.before[i].value); 501 before_headers.SetHeader(test.before[i].name, test.before[i].value);
507 request.SetExtraRequestHeaders(before_headers); 502 request.SetExtraRequestHeaders(before_headers);
508 503
509 // Gather the modifications to the headers for the respective extensions. 504 // Gather the modifications to the headers for the respective extensions.
(...skipping 1005 matching lines...) Expand 10 before | Expand all | Expand 10 after
1515 }; 1510 };
1516 for (size_t i = 0; i < arraysize(sensitive_urls); ++i) { 1511 for (size_t i = 0; i < arraysize(sensitive_urls); ++i) {
1517 EXPECT_TRUE(helpers::HideRequestForURL(GURL(sensitive_urls[i]))) 1512 EXPECT_TRUE(helpers::HideRequestForURL(GURL(sensitive_urls[i])))
1518 << sensitive_urls[i]; 1513 << sensitive_urls[i];
1519 } 1514 }
1520 for (size_t i = 0; i < arraysize(non_sensitive_urls); ++i) { 1515 for (size_t i = 0; i < arraysize(non_sensitive_urls); ++i) {
1521 EXPECT_FALSE(helpers::HideRequestForURL(GURL(non_sensitive_urls[i]))) 1516 EXPECT_FALSE(helpers::HideRequestForURL(GURL(non_sensitive_urls[i])))
1522 << non_sensitive_urls[i]; 1517 << non_sensitive_urls[i];
1523 } 1518 }
1524 } 1519 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698