| OLD | NEW |
| 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 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 220 // Tests that we handle disagreements among extensions about responses to | 220 // Tests that we handle disagreements among extensions about responses to |
| 221 // blocking events (redirection) by choosing the response from the | 221 // blocking events (redirection) by choosing the response from the |
| 222 // most-recently-installed extension. | 222 // most-recently-installed extension. |
| 223 TEST_F(ExtensionWebRequestTest, BlockingEventPrecedenceRedirect) { | 223 TEST_F(ExtensionWebRequestTest, BlockingEventPrecedenceRedirect) { |
| 224 std::string extension1_id("1"); | 224 std::string extension1_id("1"); |
| 225 std::string extension2_id("2"); | 225 std::string extension2_id("2"); |
| 226 ExtensionWebRequestEventRouter::RequestFilter filter; | 226 ExtensionWebRequestEventRouter::RequestFilter filter; |
| 227 const std::string kEventName(web_request::OnBeforeRequest::kEventName); | 227 const std::string kEventName(web_request::OnBeforeRequest::kEventName); |
| 228 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); | 228 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); |
| 229 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 229 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 230 &profile_, extension1_id, extension1_id, kEventName, kEventName + "/1", | 230 &profile_, extension1_id, extension1_id, events::FOR_TEST, kEventName, |
| 231 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, | 231 kEventName + "/1", filter, |
| 232 ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, |
| 232 ipc_sender_factory.GetWeakPtr()); | 233 ipc_sender_factory.GetWeakPtr()); |
| 233 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 234 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 234 &profile_, extension2_id, extension2_id, kEventName, kEventName + "/2", | 235 &profile_, extension2_id, extension2_id, events::FOR_TEST, kEventName, |
| 235 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, | 236 kEventName + "/2", filter, |
| 237 ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, |
| 236 ipc_sender_factory.GetWeakPtr()); | 238 ipc_sender_factory.GetWeakPtr()); |
| 237 | 239 |
| 238 net::URLRequestJobFactoryImpl job_factory; | 240 net::URLRequestJobFactoryImpl job_factory; |
| 239 job_factory.SetProtocolHandler( | 241 job_factory.SetProtocolHandler( |
| 240 url::kAboutScheme, new chrome_browser_net::AboutProtocolHandler()); | 242 url::kAboutScheme, new chrome_browser_net::AboutProtocolHandler()); |
| 241 context_->set_job_factory(&job_factory); | 243 context_->set_job_factory(&job_factory); |
| 242 | 244 |
| 243 GURL redirect_url("about:redirected"); | 245 GURL redirect_url("about:redirected"); |
| 244 GURL not_chosen_redirect_url("about:not_chosen"); | 246 GURL not_chosen_redirect_url("about:not_chosen"); |
| 245 | 247 |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 | 358 |
| 357 // Test that a request is canceled if this is requested by any extension | 359 // Test that a request is canceled if this is requested by any extension |
| 358 // regardless whether it is the extension with the highest precedence. | 360 // regardless whether it is the extension with the highest precedence. |
| 359 TEST_F(ExtensionWebRequestTest, BlockingEventPrecedenceCancel) { | 361 TEST_F(ExtensionWebRequestTest, BlockingEventPrecedenceCancel) { |
| 360 std::string extension1_id("1"); | 362 std::string extension1_id("1"); |
| 361 std::string extension2_id("2"); | 363 std::string extension2_id("2"); |
| 362 ExtensionWebRequestEventRouter::RequestFilter filter; | 364 ExtensionWebRequestEventRouter::RequestFilter filter; |
| 363 const std::string kEventName(web_request::OnBeforeRequest::kEventName); | 365 const std::string kEventName(web_request::OnBeforeRequest::kEventName); |
| 364 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); | 366 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); |
| 365 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 367 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 366 &profile_, extension1_id, extension1_id, kEventName, kEventName + "/1", | 368 &profile_, extension1_id, extension1_id, events::FOR_TEST, kEventName, |
| 367 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, | 369 kEventName + "/1", filter, |
| 368 ipc_sender_factory.GetWeakPtr()); | 370 ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, |
| 371 ipc_sender_factory.GetWeakPtr()); |
| 369 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 372 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 370 &profile_, extension2_id, extension2_id, kEventName, kEventName + "/2", | 373 &profile_, extension2_id, extension2_id, events::FOR_TEST, kEventName, |
| 371 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, | 374 kEventName + "/2", filter, |
| 372 ipc_sender_factory.GetWeakPtr()); | 375 ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, |
| 376 ipc_sender_factory.GetWeakPtr()); |
| 373 | 377 |
| 374 GURL request_url("about:blank"); | 378 GURL request_url("about:blank"); |
| 375 scoped_ptr<net::URLRequest> request(context_->CreateRequest( | 379 scoped_ptr<net::URLRequest> request(context_->CreateRequest( |
| 376 request_url, net::DEFAULT_PRIORITY, &delegate_)); | 380 request_url, net::DEFAULT_PRIORITY, &delegate_)); |
| 377 | 381 |
| 378 // onBeforeRequest will be dispatched twice. The second response - | 382 // onBeforeRequest will be dispatched twice. The second response - |
| 379 // the redirect - would win, since it has a later |install_time|, but | 383 // the redirect - would win, since it has a later |install_time|, but |
| 380 // the first response takes precedence because cancel >> redirect. | 384 // the first response takes precedence because cancel >> redirect. |
| 381 GURL redirect_url("about:redirected"); | 385 GURL redirect_url("about:redirected"); |
| 382 ExtensionWebRequestEventRouter::EventResponse* response = NULL; | 386 ExtensionWebRequestEventRouter::EventResponse* response = NULL; |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 425 // is ignored. | 429 // is ignored. |
| 426 | 430 |
| 427 std::string extension_id("1"); | 431 std::string extension_id("1"); |
| 428 ExtensionWebRequestEventRouter::RequestFilter filter; | 432 ExtensionWebRequestEventRouter::RequestFilter filter; |
| 429 | 433 |
| 430 // Subscribe to OnBeforeRequest and OnErrorOccurred. | 434 // Subscribe to OnBeforeRequest and OnErrorOccurred. |
| 431 const std::string kEventName(web_request::OnBeforeRequest::kEventName); | 435 const std::string kEventName(web_request::OnBeforeRequest::kEventName); |
| 432 const std::string kEventName2(web_request::OnErrorOccurred::kEventName); | 436 const std::string kEventName2(web_request::OnErrorOccurred::kEventName); |
| 433 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); | 437 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); |
| 434 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 438 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 435 &profile_, extension_id, extension_id, kEventName, kEventName + "/1", | 439 &profile_, extension_id, extension_id, events::FOR_TEST, kEventName, |
| 436 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, | 440 kEventName + "/1", filter, |
| 437 ipc_sender_factory.GetWeakPtr()); | 441 ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, |
| 442 ipc_sender_factory.GetWeakPtr()); |
| 438 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 443 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 439 &profile_, extension_id, extension_id, kEventName2, kEventName2 + "/1", | 444 &profile_, extension_id, extension_id, events::FOR_TEST, kEventName2, |
| 440 filter, 0, 0, 0, ipc_sender_factory.GetWeakPtr()); | 445 kEventName2 + "/1", filter, 0, 0, 0, ipc_sender_factory.GetWeakPtr()); |
| 441 | 446 |
| 442 GURL request_url("about:blank"); | 447 GURL request_url("about:blank"); |
| 443 scoped_ptr<net::URLRequest> request(context_->CreateRequest( | 448 scoped_ptr<net::URLRequest> request(context_->CreateRequest( |
| 444 request_url, net::DEFAULT_PRIORITY, &delegate_)); | 449 request_url, net::DEFAULT_PRIORITY, &delegate_)); |
| 445 | 450 |
| 446 ExtensionWebRequestEventRouter::EventResponse* response = NULL; | 451 ExtensionWebRequestEventRouter::EventResponse* response = NULL; |
| 447 | 452 |
| 448 // Extension response for the OnBeforeRequest handler. This should not be | 453 // Extension response for the OnBeforeRequest handler. This should not be |
| 449 // processed because request is canceled before the handler responds. | 454 // processed because request is canceled before the handler responds. |
| 450 response = new ExtensionWebRequestEventRouter::EventResponse( | 455 response = new ExtensionWebRequestEventRouter::EventResponse( |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 625 const std::string string_spec_post("blocking,requestBody"); | 630 const std::string string_spec_post("blocking,requestBody"); |
| 626 const std::string string_spec_no_post("blocking"); | 631 const std::string string_spec_no_post("blocking"); |
| 627 int extra_info_spec_empty = 0; | 632 int extra_info_spec_empty = 0; |
| 628 int extra_info_spec_body = 0; | 633 int extra_info_spec_body = 0; |
| 629 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); | 634 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); |
| 630 | 635 |
| 631 // Part 1. | 636 // Part 1. |
| 632 // Subscribe to OnBeforeRequest with requestBody requirement. | 637 // Subscribe to OnBeforeRequest with requestBody requirement. |
| 633 ASSERT_TRUE(GenerateInfoSpec(string_spec_post, &extra_info_spec_body)); | 638 ASSERT_TRUE(GenerateInfoSpec(string_spec_post, &extra_info_spec_body)); |
| 634 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 639 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 635 &profile_, extension_id, extension_id, kEventName, kEventName + "/1", | 640 &profile_, extension_id, extension_id, events::FOR_TEST, kEventName, |
| 636 filter, extra_info_spec_body, 0, 0, ipc_sender_factory.GetWeakPtr()); | 641 kEventName + "/1", filter, extra_info_spec_body, 0, 0, |
| 642 ipc_sender_factory.GetWeakPtr()); |
| 637 | 643 |
| 638 FireURLRequestWithData(kMethodPost, kMultipart, form_1, form_2); | 644 FireURLRequestWithData(kMethodPost, kMultipart, form_1, form_2); |
| 639 | 645 |
| 640 // We inspect the result in the message list of |ipc_sender_| later. | 646 // We inspect the result in the message list of |ipc_sender_| later. |
| 641 base::MessageLoop::current()->RunUntilIdle(); | 647 base::MessageLoop::current()->RunUntilIdle(); |
| 642 | 648 |
| 643 ExtensionWebRequestEventRouter::GetInstance()->RemoveEventListener( | 649 ExtensionWebRequestEventRouter::GetInstance()->RemoveEventListener( |
| 644 &profile_, extension_id, kEventName + "/1", 0, 0); | 650 &profile_, extension_id, kEventName + "/1", 0, 0); |
| 645 | 651 |
| 646 // Part 2. | 652 // Part 2. |
| 647 // Now subscribe to OnBeforeRequest *without* the requestBody requirement. | 653 // Now subscribe to OnBeforeRequest *without* the requestBody requirement. |
| 648 ASSERT_TRUE( | 654 ASSERT_TRUE( |
| 649 GenerateInfoSpec(string_spec_no_post, &extra_info_spec_empty)); | 655 GenerateInfoSpec(string_spec_no_post, &extra_info_spec_empty)); |
| 650 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 656 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 651 &profile_, extension_id, extension_id, kEventName, kEventName + "/1", | 657 &profile_, extension_id, extension_id, events::FOR_TEST, kEventName, |
| 652 filter, extra_info_spec_empty, 0, 0, ipc_sender_factory.GetWeakPtr()); | 658 kEventName + "/1", filter, extra_info_spec_empty, 0, 0, |
| 659 ipc_sender_factory.GetWeakPtr()); |
| 653 | 660 |
| 654 FireURLRequestWithData(kMethodPost, kMultipart, form_1, form_2); | 661 FireURLRequestWithData(kMethodPost, kMultipart, form_1, form_2); |
| 655 | 662 |
| 656 ExtensionWebRequestEventRouter::GetInstance()->RemoveEventListener( | 663 ExtensionWebRequestEventRouter::GetInstance()->RemoveEventListener( |
| 657 &profile_, extension_id, kEventName + "/1", 0, 0); | 664 &profile_, extension_id, kEventName + "/1", 0, 0); |
| 658 | 665 |
| 659 // Subscribe to OnBeforeRequest with requestBody requirement. | 666 // Subscribe to OnBeforeRequest with requestBody requirement. |
| 660 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 667 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 661 &profile_, extension_id, extension_id, kEventName, kEventName + "/1", | 668 &profile_, extension_id, extension_id, events::FOR_TEST, kEventName, |
| 662 filter, extra_info_spec_body, 0, 0, ipc_sender_factory.GetWeakPtr()); | 669 kEventName + "/1", filter, extra_info_spec_body, 0, 0, |
| 670 ipc_sender_factory.GetWeakPtr()); |
| 663 | 671 |
| 664 // Part 3. | 672 // Part 3. |
| 665 // Now send a POST request with body which is not parseable as a form. | 673 // Now send a POST request with body which is not parseable as a form. |
| 666 FireURLRequestWithData(kMethodPost, NULL /*no header*/, plain_1, plain_2); | 674 FireURLRequestWithData(kMethodPost, NULL /*no header*/, plain_1, plain_2); |
| 667 | 675 |
| 668 // Part 4. | 676 // Part 4. |
| 669 // Now send a PUT request with the same body as above. | 677 // Now send a PUT request with the same body as above. |
| 670 FireURLRequestWithData(kMethodPut, NULL /*no header*/, plain_1, plain_2); | 678 FireURLRequestWithData(kMethodPut, NULL /*no header*/, plain_1, plain_2); |
| 671 | 679 |
| 672 base::MessageLoop::current()->RunUntilIdle(); | 680 base::MessageLoop::current()->RunUntilIdle(); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 // Set up a dummy extension name. | 717 // Set up a dummy extension name. |
| 710 const std::string kEventName(web_request::OnBeforeRequest::kEventName); | 718 const std::string kEventName(web_request::OnBeforeRequest::kEventName); |
| 711 ExtensionWebRequestEventRouter::RequestFilter filter; | 719 ExtensionWebRequestEventRouter::RequestFilter filter; |
| 712 const std::string extension_id("1"); | 720 const std::string extension_id("1"); |
| 713 int extra_info_spec = 0; | 721 int extra_info_spec = 0; |
| 714 ASSERT_TRUE(GenerateInfoSpec("blocking,requestBody", &extra_info_spec)); | 722 ASSERT_TRUE(GenerateInfoSpec("blocking,requestBody", &extra_info_spec)); |
| 715 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); | 723 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); |
| 716 | 724 |
| 717 // Subscribe to OnBeforeRequest with requestBody requirement. | 725 // Subscribe to OnBeforeRequest with requestBody requirement. |
| 718 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 726 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 719 &profile_, extension_id, extension_id, kEventName, kEventName + "/1", | 727 &profile_, extension_id, extension_id, events::FOR_TEST, kEventName, |
| 720 filter, extra_info_spec, 0, 0, ipc_sender_factory.GetWeakPtr()); | 728 kEventName + "/1", filter, extra_info_spec, 0, 0, |
| 729 ipc_sender_factory.GetWeakPtr()); |
| 721 | 730 |
| 722 // The request URL can be arbitrary but must have an HTTP or HTTPS scheme. | 731 // The request URL can be arbitrary but must have an HTTP or HTTPS scheme. |
| 723 const GURL request_url("http://www.example.com"); | 732 const GURL request_url("http://www.example.com"); |
| 724 | 733 |
| 725 for (size_t i = 0; i < arraysize(kMethods); ++i) { | 734 for (size_t i = 0; i < arraysize(kMethods); ++i) { |
| 726 scoped_ptr<net::URLRequest> request(context_->CreateRequest( | 735 scoped_ptr<net::URLRequest> request(context_->CreateRequest( |
| 727 request_url, net::DEFAULT_PRIORITY, &delegate_)); | 736 request_url, net::DEFAULT_PRIORITY, &delegate_)); |
| 728 request->set_method(kMethods[i]); | 737 request->set_method(kMethods[i]); |
| 729 ipc_sender_.PushTask(base::Bind(&base::DoNothing)); | 738 ipc_sender_.PushTask(base::Bind(&base::DoNothing)); |
| 730 request->Start(); | 739 request->Start(); |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 821 std::string extension1_id("1"); | 830 std::string extension1_id("1"); |
| 822 std::string extension2_id("2"); | 831 std::string extension2_id("2"); |
| 823 std::string extension3_id("3"); | 832 std::string extension3_id("3"); |
| 824 ExtensionWebRequestEventRouter::RequestFilter filter; | 833 ExtensionWebRequestEventRouter::RequestFilter filter; |
| 825 const std::string kEventName(keys::kOnBeforeSendHeadersEvent); | 834 const std::string kEventName(keys::kOnBeforeSendHeadersEvent); |
| 826 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); | 835 base::WeakPtrFactory<TestIPCSender> ipc_sender_factory(&ipc_sender_); |
| 827 | 836 |
| 828 // Install two extensions that can modify headers. Extension 2 has | 837 // Install two extensions that can modify headers. Extension 2 has |
| 829 // higher precedence than extension 1. | 838 // higher precedence than extension 1. |
| 830 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 839 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 831 &profile_, extension1_id, extension1_id, kEventName, kEventName + "/1", | 840 &profile_, extension1_id, extension1_id, events::FOR_TEST, kEventName, |
| 832 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, | 841 kEventName + "/1", filter, |
| 842 ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, |
| 833 ipc_sender_factory.GetWeakPtr()); | 843 ipc_sender_factory.GetWeakPtr()); |
| 834 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 844 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 835 &profile_, extension2_id, extension2_id, kEventName, kEventName + "/2", | 845 &profile_, extension2_id, extension2_id, events::FOR_TEST, kEventName, |
| 836 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, | 846 kEventName + "/2", filter, |
| 847 ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING, 0, 0, |
| 837 ipc_sender_factory.GetWeakPtr()); | 848 ipc_sender_factory.GetWeakPtr()); |
| 838 | 849 |
| 839 // Install one extension that observes the final headers. | 850 // Install one extension that observes the final headers. |
| 840 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( | 851 ExtensionWebRequestEventRouter::GetInstance()->AddEventListener( |
| 841 &profile_, extension3_id, extension3_id, keys::kOnSendHeadersEvent, | 852 &profile_, extension3_id, extension3_id, events::FOR_TEST, |
| 842 std::string(keys::kOnSendHeadersEvent) + "/3", filter, | 853 keys::kOnSendHeadersEvent, std::string(keys::kOnSendHeadersEvent) + "/3", |
| 843 ExtensionWebRequestEventRouter::ExtraInfoSpec::REQUEST_HEADERS, 0, 0, | 854 filter, ExtensionWebRequestEventRouter::ExtraInfoSpec::REQUEST_HEADERS, 0, |
| 844 ipc_sender_factory.GetWeakPtr()); | 855 0, ipc_sender_factory.GetWeakPtr()); |
| 845 | 856 |
| 846 GURL request_url("http://doesnotexist/does_not_exist.html"); | 857 GURL request_url("http://doesnotexist/does_not_exist.html"); |
| 847 scoped_ptr<net::URLRequest> request(context_->CreateRequest( | 858 scoped_ptr<net::URLRequest> request(context_->CreateRequest( |
| 848 request_url, net::DEFAULT_PRIORITY, &delegate_)); | 859 request_url, net::DEFAULT_PRIORITY, &delegate_)); |
| 849 | 860 |
| 850 // Initialize headers available before extensions are notified of the | 861 // Initialize headers available before extensions are notified of the |
| 851 // onBeforeSendHeaders event. | 862 // onBeforeSendHeaders event. |
| 852 HeaderModificationTest test = GetParam(); | 863 HeaderModificationTest test = GetParam(); |
| 853 net::HttpRequestHeaders before_headers; | 864 net::HttpRequestHeaders before_headers; |
| 854 for (int i = 0; i < test.before_size; ++i) | 865 for (int i = 0; i < test.before_size; ++i) |
| (...skipping 1380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2235 EXPECT_TRUE(credentials_set); | 2246 EXPECT_TRUE(credentials_set); |
| 2236 EXPECT_FALSE(auth3.Empty()); | 2247 EXPECT_FALSE(auth3.Empty()); |
| 2237 EXPECT_EQ(username, auth1.username()); | 2248 EXPECT_EQ(username, auth1.username()); |
| 2238 EXPECT_EQ(password, auth1.password()); | 2249 EXPECT_EQ(password, auth1.password()); |
| 2239 EXPECT_EQ(1u, warning_set.size()); | 2250 EXPECT_EQ(1u, warning_set.size()); |
| 2240 EXPECT_TRUE(HasWarning(warning_set, "extid2")); | 2251 EXPECT_TRUE(HasWarning(warning_set, "extid2")); |
| 2241 EXPECT_EQ(3u, capturing_net_log.GetSize()); | 2252 EXPECT_EQ(3u, capturing_net_log.GetSize()); |
| 2242 } | 2253 } |
| 2243 | 2254 |
| 2244 } // namespace extensions | 2255 } // namespace extensions |
| OLD | NEW |