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

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

Issue 1003953008: Remove prerender cookie store, part 4. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@prerender-revert-cookie-store-3
Patch Set: rebase (just in case since this is so huge) Created 5 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
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 <map> 5 #include <map>
6 #include <queue> 6 #include <queue>
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 232
233 net::URLRequestJobFactoryImpl job_factory; 233 net::URLRequestJobFactoryImpl job_factory;
234 job_factory.SetProtocolHandler( 234 job_factory.SetProtocolHandler(
235 url::kAboutScheme, new chrome_browser_net::AboutProtocolHandler()); 235 url::kAboutScheme, new chrome_browser_net::AboutProtocolHandler());
236 context_->set_job_factory(&job_factory); 236 context_->set_job_factory(&job_factory);
237 237
238 GURL redirect_url("about:redirected"); 238 GURL redirect_url("about:redirected");
239 GURL not_chosen_redirect_url("about:not_chosen"); 239 GURL not_chosen_redirect_url("about:not_chosen");
240 240
241 scoped_ptr<net::URLRequest> request(context_->CreateRequest( 241 scoped_ptr<net::URLRequest> request(context_->CreateRequest(
242 GURL("about:blank"), net::DEFAULT_PRIORITY, &delegate_, NULL)); 242 GURL("about:blank"), net::DEFAULT_PRIORITY, &delegate_));
243 { 243 {
244 // onBeforeRequest will be dispatched twice initially. The second response - 244 // onBeforeRequest will be dispatched twice initially. The second response -
245 // the redirect - should win, since it has a later |install_time|. The 245 // the redirect - should win, since it has a later |install_time|. The
246 // redirect will dispatch another pair of onBeforeRequest. There, the first 246 // redirect will dispatch another pair of onBeforeRequest. There, the first
247 // response should win (later |install_time|). 247 // response should win (later |install_time|).
248 ExtensionWebRequestEventRouter::EventResponse* response = NULL; 248 ExtensionWebRequestEventRouter::EventResponse* response = NULL;
249 249
250 // Extension1 response. Arrives first, but ignored due to install_time. 250 // Extension1 response. Arrives first, but ignored due to install_time.
251 response = new ExtensionWebRequestEventRouter::EventResponse( 251 response = new ExtensionWebRequestEventRouter::EventResponse(
252 extension1_id, base::Time::FromDoubleT(1)); 252 extension1_id, base::Time::FromDoubleT(1));
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 EXPECT_TRUE(!request->is_pending()); 287 EXPECT_TRUE(!request->is_pending());
288 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request->status().status()); 288 EXPECT_EQ(net::URLRequestStatus::SUCCESS, request->status().status());
289 EXPECT_EQ(0, request->status().error()); 289 EXPECT_EQ(0, request->status().error());
290 EXPECT_EQ(redirect_url, request->url()); 290 EXPECT_EQ(redirect_url, request->url());
291 EXPECT_EQ(2U, request->url_chain().size()); 291 EXPECT_EQ(2U, request->url_chain().size());
292 EXPECT_EQ(0U, ipc_sender_.GetNumTasks()); 292 EXPECT_EQ(0U, ipc_sender_.GetNumTasks());
293 } 293 }
294 294
295 // Now test the same thing but the extensions answer in reverse order. 295 // Now test the same thing but the extensions answer in reverse order.
296 scoped_ptr<net::URLRequest> request2(context_->CreateRequest( 296 scoped_ptr<net::URLRequest> request2(context_->CreateRequest(
297 GURL("about:blank"), net::DEFAULT_PRIORITY, &delegate_, NULL)); 297 GURL("about:blank"), net::DEFAULT_PRIORITY, &delegate_));
298 { 298 {
299 ExtensionWebRequestEventRouter::EventResponse* response = NULL; 299 ExtensionWebRequestEventRouter::EventResponse* response = NULL;
300 300
301 // Extension2 response. Arrives first, and chosen because of install_time. 301 // Extension2 response. Arrives first, and chosen because of install_time.
302 response = new ExtensionWebRequestEventRouter::EventResponse( 302 response = new ExtensionWebRequestEventRouter::EventResponse(
303 extension2_id, base::Time::FromDoubleT(2)); 303 extension2_id, base::Time::FromDoubleT(2));
304 response->new_url = redirect_url; 304 response->new_url = redirect_url;
305 ipc_sender_.PushTask( 305 ipc_sender_.PushTask(
306 base::Bind(&EventHandledOnIOThread, 306 base::Bind(&EventHandledOnIOThread,
307 &profile_, extension2_id, kEventName, kEventName + "/2", 307 &profile_, extension2_id, kEventName, kEventName + "/2",
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 &profile_, extension1_id, extension1_id, kEventName, kEventName + "/1", 361 &profile_, extension1_id, extension1_id, kEventName, kEventName + "/1",
362 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, 362 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0,
363 ipc_sender_factory.GetWeakPtr()); 363 ipc_sender_factory.GetWeakPtr());
364 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( 364 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener(
365 &profile_, extension2_id, extension2_id, kEventName, kEventName + "/2", 365 &profile_, extension2_id, extension2_id, kEventName, kEventName + "/2",
366 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, 366 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0,
367 ipc_sender_factory.GetWeakPtr()); 367 ipc_sender_factory.GetWeakPtr());
368 368
369 GURL request_url("about:blank"); 369 GURL request_url("about:blank");
370 scoped_ptr<net::URLRequest> request(context_->CreateRequest( 370 scoped_ptr<net::URLRequest> request(context_->CreateRequest(
371 request_url, net::DEFAULT_PRIORITY, &delegate_, NULL)); 371 request_url, net::DEFAULT_PRIORITY, &delegate_));
372 372
373 // onBeforeRequest will be dispatched twice. The second response - 373 // onBeforeRequest will be dispatched twice. The second response -
374 // the redirect - would win, since it has a later |install_time|, but 374 // the redirect - would win, since it has a later |install_time|, but
375 // the first response takes precedence because cancel >> redirect. 375 // the first response takes precedence because cancel >> redirect.
376 GURL redirect_url("about:redirected"); 376 GURL redirect_url("about:redirected");
377 ExtensionWebRequestEventRouter::EventResponse* response = NULL; 377 ExtensionWebRequestEventRouter::EventResponse* response = NULL;
378 378
379 // Extension1 response. Arrives first, would be ignored in principle due to 379 // Extension1 response. Arrives first, would be ignored in principle due to
380 // install_time but "cancel" always wins. 380 // install_time but "cancel" always wins.
381 response = new ExtensionWebRequestEventRouter::EventResponse( 381 response = new ExtensionWebRequestEventRouter::EventResponse(
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( 429 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener(
430 &profile_, extension_id, extension_id, kEventName, kEventName + "/1", 430 &profile_, extension_id, extension_id, kEventName, kEventName + "/1",
431 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, 431 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0,
432 ipc_sender_factory.GetWeakPtr()); 432 ipc_sender_factory.GetWeakPtr());
433 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( 433 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener(
434 &profile_, extension_id, extension_id, kEventName2, kEventName2 + "/1", 434 &profile_, extension_id, extension_id, kEventName2, kEventName2 + "/1",
435 filter, 0, 0, 0, ipc_sender_factory.GetWeakPtr()); 435 filter, 0, 0, 0, ipc_sender_factory.GetWeakPtr());
436 436
437 GURL request_url("about:blank"); 437 GURL request_url("about:blank");
438 scoped_ptr<net::URLRequest> request(context_->CreateRequest( 438 scoped_ptr<net::URLRequest> request(context_->CreateRequest(
439 request_url, net::DEFAULT_PRIORITY, &delegate_, NULL)); 439 request_url, net::DEFAULT_PRIORITY, &delegate_));
440 440
441 ExtensionWebRequestEventRouter::EventResponse* response = NULL; 441 ExtensionWebRequestEventRouter::EventResponse* response = NULL;
442 442
443 // Extension response for the OnBeforeRequest handler. This should not be 443 // Extension response for the OnBeforeRequest handler. This should not be
444 // processed because request is canceled before the handler responds. 444 // processed because request is canceled before the handler responds.
445 response = new ExtensionWebRequestEventRouter::EventResponse( 445 response = new ExtensionWebRequestEventRouter::EventResponse(
446 extension_id, base::Time::FromDoubleT(1)); 446 extension_id, base::Time::FromDoubleT(1));
447 GURL redirect_url("about:redirected"); 447 GURL redirect_url("about:redirected");
448 response->new_url = redirect_url; 448 response->new_url = redirect_url;
449 ipc_sender_.PushTask( 449 ipc_sender_.PushTask(
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 } // namespace 493 } // namespace
494 494
495 void ExtensionWebRequestTest::FireURLRequestWithData( 495 void ExtensionWebRequestTest::FireURLRequestWithData(
496 const std::string& method, 496 const std::string& method,
497 const char* content_type, 497 const char* content_type,
498 const std::vector<char>& bytes_1, 498 const std::vector<char>& bytes_1,
499 const std::vector<char>& bytes_2) { 499 const std::vector<char>& bytes_2) {
500 // The request URL can be arbitrary but must have an HTTP or HTTPS scheme. 500 // The request URL can be arbitrary but must have an HTTP or HTTPS scheme.
501 GURL request_url("http://www.example.com"); 501 GURL request_url("http://www.example.com");
502 scoped_ptr<net::URLRequest> request(context_->CreateRequest( 502 scoped_ptr<net::URLRequest> request(context_->CreateRequest(
503 request_url, net::DEFAULT_PRIORITY, &delegate_, NULL)); 503 request_url, net::DEFAULT_PRIORITY, &delegate_));
504 request->set_method(method); 504 request->set_method(method);
505 if (content_type != NULL) { 505 if (content_type != NULL) {
506 request->SetExtraRequestHeaderByName(net::HttpRequestHeaders::kContentType, 506 request->SetExtraRequestHeaderByName(net::HttpRequestHeaders::kContentType,
507 content_type, 507 content_type,
508 true /* overwrite */); 508 true /* overwrite */);
509 } 509 }
510 ScopedVector<net::UploadElementReader> element_readers; 510 ScopedVector<net::UploadElementReader> element_readers;
511 element_readers.push_back(new net::UploadBytesElementReader( 511 element_readers.push_back(new net::UploadBytesElementReader(
512 &(bytes_1[0]), bytes_1.size())); 512 &(bytes_1[0]), bytes_1.size()));
513 element_readers.push_back( 513 element_readers.push_back(
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 // Subscribe to OnBeforeRequest with requestBody requirement. 709 // Subscribe to OnBeforeRequest with requestBody requirement.
710 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( 710 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener(
711 &profile_, extension_id, extension_id, kEventName, kEventName + "/1", 711 &profile_, extension_id, extension_id, kEventName, kEventName + "/1",
712 filter, extra_info_spec, 0, 0, ipc_sender_factory.GetWeakPtr()); 712 filter, extra_info_spec, 0, 0, ipc_sender_factory.GetWeakPtr());
713 713
714 // The request URL can be arbitrary but must have an HTTP or HTTPS scheme. 714 // The request URL can be arbitrary but must have an HTTP or HTTPS scheme.
715 const GURL request_url("http://www.example.com"); 715 const GURL request_url("http://www.example.com");
716 716
717 for (size_t i = 0; i < arraysize(kMethods); ++i) { 717 for (size_t i = 0; i < arraysize(kMethods); ++i) {
718 scoped_ptr<net::URLRequest> request(context_->CreateRequest( 718 scoped_ptr<net::URLRequest> request(context_->CreateRequest(
719 request_url, net::DEFAULT_PRIORITY, &delegate_, NULL)); 719 request_url, net::DEFAULT_PRIORITY, &delegate_));
720 request->set_method(kMethods[i]); 720 request->set_method(kMethods[i]);
721 ipc_sender_.PushTask(base::Bind(&base::DoNothing)); 721 ipc_sender_.PushTask(base::Bind(&base::DoNothing));
722 request->Start(); 722 request->Start();
723 } 723 }
724 724
725 // We inspect the result in the message list of |ipc_sender_| later. 725 // We inspect the result in the message list of |ipc_sender_| later.
726 base::MessageLoop::current()->RunUntilIdle(); 726 base::MessageLoop::current()->RunUntilIdle();
727 727
728 ExtensionWebRequestEventRouter::GetInstance()->RemoveEventListener( 728 ExtensionWebRequestEventRouter::GetInstance()->RemoveEventListener(
729 &profile_, extension_id, kEventName + "/1", 0, 0); 729 &profile_, extension_id, kEventName + "/1", 0, 0);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 830
831 // Install one extension that observes the final headers. 831 // Install one extension that observes the final headers.
832 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( 832 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener(
833 &profile_, extension3_id, extension3_id, keys::kOnSendHeadersEvent, 833 &profile_, extension3_id, extension3_id, keys::kOnSendHeadersEvent,
834 std::string(keys::kOnSendHeadersEvent) + "/3", filter, 834 std::string(keys::kOnSendHeadersEvent) + "/3", filter,
835 ExtensionWebRequestEventRouter::ExtraInfoSpec::REQUEST_HEADERS, 0, 0, 835 ExtensionWebRequestEventRouter::ExtraInfoSpec::REQUEST_HEADERS, 0, 0,
836 ipc_sender_factory.GetWeakPtr()); 836 ipc_sender_factory.GetWeakPtr());
837 837
838 GURL request_url("http://doesnotexist/does_not_exist.html"); 838 GURL request_url("http://doesnotexist/does_not_exist.html");
839 scoped_ptr<net::URLRequest> request(context_->CreateRequest( 839 scoped_ptr<net::URLRequest> request(context_->CreateRequest(
840 request_url, net::DEFAULT_PRIORITY, &delegate_, NULL)); 840 request_url, net::DEFAULT_PRIORITY, &delegate_));
841 841
842 // Initialize headers available before extensions are notified of the 842 // Initialize headers available before extensions are notified of the
843 // onBeforeSendHeaders event. 843 // onBeforeSendHeaders event.
844 HeaderModificationTest test = GetParam(); 844 HeaderModificationTest test = GetParam();
845 net::HttpRequestHeaders before_headers; 845 net::HttpRequestHeaders before_headers;
846 for (int i = 0; i < test.before_size; ++i) 846 for (int i = 0; i < test.before_size; ++i)
847 before_headers.SetHeader(test.before[i].name, test.before[i].value); 847 before_headers.SetHeader(test.before[i].name, test.before[i].value);
848 request->SetExtraRequestHeaders(before_headers); 848 request->SetExtraRequestHeaders(before_headers);
849 849
850 // Gather the modifications to the headers for the respective extensions. 850 // Gather the modifications to the headers for the respective extensions.
(...skipping 1376 matching lines...) Expand 10 before | Expand all | Expand 10 after
2227 EXPECT_TRUE(credentials_set); 2227 EXPECT_TRUE(credentials_set);
2228 EXPECT_FALSE(auth3.Empty()); 2228 EXPECT_FALSE(auth3.Empty());
2229 EXPECT_EQ(username, auth1.username()); 2229 EXPECT_EQ(username, auth1.username());
2230 EXPECT_EQ(password, auth1.password()); 2230 EXPECT_EQ(password, auth1.password());
2231 EXPECT_EQ(1u, warning_set.size()); 2231 EXPECT_EQ(1u, warning_set.size());
2232 EXPECT_TRUE(HasWarning(warning_set, "extid2")); 2232 EXPECT_TRUE(HasWarning(warning_set, "extid2"));
2233 EXPECT_EQ(3u, capturing_net_log.GetSize()); 2233 EXPECT_EQ(3u, capturing_net_log.GetSize());
2234 } 2234 }
2235 2235
2236 } // namespace extensions 2236 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698