Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "content/browser/loader/resource_loader.h" | 5 #include "content/browser/loader/resource_loader.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <deque> | |
| 10 #include <memory> | 11 #include <memory> |
| 11 #include <utility> | 12 #include <utility> |
| 13 #include <vector> | |
| 12 | 14 |
| 13 #include "base/files/file.h" | 15 #include "base/files/file.h" |
| 14 #include "base/files/file_util.h" | 16 #include "base/files/file_util.h" |
| 15 #include "base/location.h" | 17 #include "base/location.h" |
| 16 #include "base/macros.h" | 18 #include "base/macros.h" |
| 17 #include "base/memory/ptr_util.h" | 19 #include "base/memory/ptr_util.h" |
| 18 #include "base/memory/weak_ptr.h" | 20 #include "base/memory/weak_ptr.h" |
| 19 #include "base/run_loop.h" | 21 #include "base/run_loop.h" |
| 20 #include "base/single_thread_task_runner.h" | 22 #include "base/single_thread_task_runner.h" |
| 21 #include "base/threading/thread_task_runner_handle.h" | 23 #include "base/threading/thread_task_runner_handle.h" |
| (...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 494 | 496 |
| 495 // ResourceLoaderDelegate: | 497 // ResourceLoaderDelegate: |
| 496 ResourceDispatcherHostLoginDelegate* CreateLoginDelegate( | 498 ResourceDispatcherHostLoginDelegate* CreateLoginDelegate( |
| 497 ResourceLoader* loader, | 499 ResourceLoader* loader, |
| 498 net::AuthChallengeInfo* auth_info) override { | 500 net::AuthChallengeInfo* auth_info) override { |
| 499 return NULL; | 501 return NULL; |
| 500 } | 502 } |
| 501 bool HandleExternalProtocol(ResourceLoader* loader, | 503 bool HandleExternalProtocol(ResourceLoader* loader, |
| 502 const GURL& url) override { | 504 const GURL& url) override { |
| 503 EXPECT_EQ(loader, loader_.get()); | 505 EXPECT_EQ(loader, loader_.get()); |
| 504 return false; | 506 ++handle_external_protocol_; |
| 507 | |
| 508 // Check that calls to HandleExternalProtocol always happen after the calls | |
| 509 // to the ResourceHandler's OnWillStart and OnRequestRedirected. | |
| 510 EXPECT_EQ(handle_external_protocol_, | |
| 511 raw_ptr_resource_handler_->on_will_start_called() + | |
| 512 raw_ptr_resource_handler_->on_request_redirected_called()); | |
| 513 | |
| 514 bool return_value = handle_external_protocol_results_.front(); | |
| 515 if (handle_external_protocol_results_.size() > 1) | |
| 516 handle_external_protocol_results_.pop_front(); | |
| 517 return return_value; | |
| 505 } | 518 } |
| 506 void DidStartRequest(ResourceLoader* loader) override { | 519 void DidStartRequest(ResourceLoader* loader) override { |
| 507 EXPECT_EQ(loader, loader_.get()); | 520 EXPECT_EQ(loader, loader_.get()); |
| 508 EXPECT_EQ(0, did_finish_loading_); | 521 EXPECT_EQ(0, did_finish_loading_); |
| 509 EXPECT_EQ(0, did_start_request_); | 522 EXPECT_EQ(0, did_start_request_); |
| 510 ++did_start_request_; | 523 ++did_start_request_; |
| 511 } | 524 } |
| 512 void DidReceiveRedirect(ResourceLoader* loader, | 525 void DidReceiveRedirect(ResourceLoader* loader, |
| 513 const GURL& new_url, | 526 const GURL& new_url, |
| 514 ResourceResponse* response) override { | 527 ResourceResponse* response) override { |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 541 } | 554 } |
| 542 | 555 |
| 543 TestBrowserThreadBundle thread_bundle_; | 556 TestBrowserThreadBundle thread_bundle_; |
| 544 RenderViewHostTestEnabler rvh_test_enabler_; | 557 RenderViewHostTestEnabler rvh_test_enabler_; |
| 545 | 558 |
| 546 // Record which ResourceDispatcherHostDelegate methods have been invoked. | 559 // Record which ResourceDispatcherHostDelegate methods have been invoked. |
| 547 int did_start_request_ = 0; | 560 int did_start_request_ = 0; |
| 548 int did_received_redirect_ = 0; | 561 int did_received_redirect_ = 0; |
| 549 int did_receive_response_ = 0; | 562 int did_receive_response_ = 0; |
| 550 int did_finish_loading_ = 0; | 563 int did_finish_loading_ = 0; |
| 564 int handle_external_protocol_ = 0; | |
| 565 | |
| 566 // Allows controlling the return values of sequential calls to | |
| 567 // HandleExternalProtocol. Values are removed by the measure they are used | |
| 568 // but the last one which is used for all following calls. | |
| 569 std::deque<bool> handle_external_protocol_results_{false}; | |
| 551 | 570 |
| 552 net::URLRequestJobFactoryImpl job_factory_; | 571 net::URLRequestJobFactoryImpl job_factory_; |
| 553 TestNetworkQualityEstimator network_quality_estimator_; | 572 TestNetworkQualityEstimator network_quality_estimator_; |
| 554 net::TestURLRequestContext test_url_request_context_; | 573 net::TestURLRequestContext test_url_request_context_; |
| 555 MockResourceContext resource_context_; | 574 MockResourceContext resource_context_; |
| 556 std::unique_ptr<TestBrowserContext> browser_context_; | 575 std::unique_ptr<TestBrowserContext> browser_context_; |
| 557 std::unique_ptr<TestWebContents> web_contents_; | 576 std::unique_ptr<TestWebContents> web_contents_; |
| 558 std::unique_ptr<net::ClientCertStore> dummy_cert_store_; | 577 std::unique_ptr<net::ClientCertStore> dummy_cert_store_; |
| 559 | 578 |
| 560 // The ResourceLoader owns the URLRequest and the ResourceHandler. | 579 // The ResourceLoader owns the URLRequest and the ResourceHandler. |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 742 } | 761 } |
| 743 | 762 |
| 744 // Test the case the ResourceHandler defers nothing. | 763 // Test the case the ResourceHandler defers nothing. |
| 745 TEST_F(ResourceLoaderTest, SyncResourceHandler) { | 764 TEST_F(ResourceLoaderTest, SyncResourceHandler) { |
| 746 loader_->StartRequest(); | 765 loader_->StartRequest(); |
| 747 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 766 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
| 748 EXPECT_EQ(1, did_start_request_); | 767 EXPECT_EQ(1, did_start_request_); |
| 749 EXPECT_EQ(1, did_received_redirect_); | 768 EXPECT_EQ(1, did_received_redirect_); |
| 750 EXPECT_EQ(1, did_receive_response_); | 769 EXPECT_EQ(1, did_receive_response_); |
| 751 EXPECT_EQ(1, did_finish_loading_); | 770 EXPECT_EQ(1, did_finish_loading_); |
| 771 EXPECT_EQ(2, handle_external_protocol_); | |
| 752 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); | 772 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 753 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 773 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 754 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); | 774 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); |
| 755 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 775 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
| 756 } | 776 } |
| 757 | 777 |
| 758 // Same as above, except reads complete asynchronously, and there's no redirect. | 778 // Same as above, except reads complete asynchronously, and there's no redirect. |
| 759 TEST_F(ResourceLoaderTest, SyncResourceHandlerAsyncReads) { | 779 TEST_F(ResourceLoaderTest, SyncResourceHandlerAsyncReads) { |
| 760 SetUpResourceLoaderForUrl(test_async_url()); | 780 SetUpResourceLoaderForUrl(test_async_url()); |
| 761 | 781 |
| 762 loader_->StartRequest(); | 782 loader_->StartRequest(); |
| 763 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 783 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
| 764 EXPECT_EQ(1, did_start_request_); | 784 EXPECT_EQ(1, did_start_request_); |
| 765 EXPECT_EQ(0, did_received_redirect_); | 785 EXPECT_EQ(0, did_received_redirect_); |
| 766 EXPECT_EQ(1, did_receive_response_); | 786 EXPECT_EQ(1, did_receive_response_); |
| 767 EXPECT_EQ(1, did_finish_loading_); | 787 EXPECT_EQ(1, did_finish_loading_); |
| 788 EXPECT_EQ(1, handle_external_protocol_); | |
| 768 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); | 789 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 769 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 790 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 770 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); | 791 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); |
| 771 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 792 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
| 772 } | 793 } |
| 773 | 794 |
| 795 // Test the case where ResourceHandler defers nothing and the request is handled | |
| 796 // as an external protocol on start. | |
| 797 TEST_F(ResourceLoaderTest, SyncExternalProtocolHandlingOnStart) { | |
| 798 handle_external_protocol_results_ = {true}; | |
| 799 | |
| 800 loader_->StartRequest(); | |
| 801 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | |
| 802 EXPECT_EQ(0, did_start_request_); | |
| 803 EXPECT_EQ(0, did_received_redirect_); | |
| 804 EXPECT_EQ(0, did_receive_response_); | |
| 805 EXPECT_EQ(1, did_finish_loading_); | |
| 806 EXPECT_EQ(1, handle_external_protocol_); | |
| 807 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | |
| 808 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); | |
| 809 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | |
| 810 EXPECT_EQ(net::ERR_ABORTED, | |
| 811 raw_ptr_resource_handler_->final_status().error()); | |
| 812 EXPECT_TRUE(raw_ptr_resource_handler_->body().empty()); | |
| 813 } | |
| 814 | |
| 815 // Test the case where ResourceHandler defers nothing and the request is handled | |
| 816 // as an external protocol on redirect. | |
| 817 TEST_F(ResourceLoaderTest, SyncExternalProtocolHandlingOnRedirect) { | |
| 818 handle_external_protocol_results_ = {false, true}; | |
| 819 | |
| 820 loader_->StartRequest(); | |
| 821 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | |
| 822 EXPECT_EQ(1, did_start_request_); | |
| 823 EXPECT_EQ(1, did_received_redirect_); | |
| 824 EXPECT_EQ(0, did_receive_response_); | |
| 825 EXPECT_EQ(1, did_finish_loading_); | |
| 826 EXPECT_EQ(2, handle_external_protocol_); | |
| 827 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | |
| 828 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); | |
| 829 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | |
| 830 EXPECT_EQ(net::ERR_ABORTED, | |
| 831 raw_ptr_resource_handler_->final_status().error()); | |
| 832 EXPECT_TRUE(raw_ptr_resource_handler_->body().empty()); | |
| 833 } | |
| 834 | |
| 774 // Test the case the ResourceHandler defers everything. | 835 // Test the case the ResourceHandler defers everything. |
| 775 TEST_F(ResourceLoaderTest, AsyncResourceHandler) { | 836 TEST_F(ResourceLoaderTest, AsyncResourceHandler) { |
| 776 raw_ptr_resource_handler_->set_defer_on_will_start(true); | 837 raw_ptr_resource_handler_->set_defer_on_will_start(true); |
| 777 raw_ptr_resource_handler_->set_defer_on_request_redirected(true); | 838 raw_ptr_resource_handler_->set_defer_on_request_redirected(true); |
| 778 raw_ptr_resource_handler_->set_defer_on_response_started(true); | 839 raw_ptr_resource_handler_->set_defer_on_response_started(true); |
| 779 raw_ptr_resource_handler_->set_defer_on_read_completed(true); | 840 raw_ptr_resource_handler_->set_defer_on_read_completed(true); |
| 780 raw_ptr_resource_handler_->set_defer_on_read_eof(true); | 841 raw_ptr_resource_handler_->set_defer_on_read_eof(true); |
| 781 raw_ptr_resource_handler_->set_defer_on_response_completed(true); | 842 raw_ptr_resource_handler_->set_defer_on_response_completed(true); |
| 782 | 843 |
| 783 // Start and run until OnWillStart. | 844 // Start and run until OnWillStart. |
| 784 loader_->StartRequest(); | 845 loader_->StartRequest(); |
| 785 raw_ptr_resource_handler_->WaitUntilDeferred(); | 846 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 786 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 847 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
| 787 | 848 |
| 788 // Spinning the message loop should not advance the state further. | 849 // Spinning the message loop should not advance the state further. |
| 789 base::RunLoop().RunUntilIdle(); | 850 base::RunLoop().RunUntilIdle(); |
| 790 EXPECT_EQ(0, did_start_request_); | 851 EXPECT_EQ(0, did_start_request_); |
| 791 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 852 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
| 792 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); | 853 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 793 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 854 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 855 EXPECT_EQ(0, handle_external_protocol_); | |
| 794 | 856 |
| 795 // Resume and run until OnRequestRedirected. | 857 // Resume and run until OnRequestRedirected. |
| 796 raw_ptr_resource_handler_->Resume(); | 858 raw_ptr_resource_handler_->Resume(); |
| 797 raw_ptr_resource_handler_->WaitUntilDeferred(); | 859 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 798 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); | 860 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 861 EXPECT_EQ(1, handle_external_protocol_); | |
| 799 | 862 |
| 800 // Spinning the message loop should not advance the state further. | 863 // Spinning the message loop should not advance the state further. |
| 801 base::RunLoop().RunUntilIdle(); | 864 base::RunLoop().RunUntilIdle(); |
| 802 EXPECT_EQ(1, did_received_redirect_); | 865 EXPECT_EQ(1, did_received_redirect_); |
| 803 EXPECT_EQ(0, did_receive_response_); | 866 EXPECT_EQ(0, did_receive_response_); |
| 804 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); | 867 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 805 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); | 868 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); |
| 806 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 869 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 870 EXPECT_EQ(1, handle_external_protocol_); | |
| 807 | 871 |
| 808 // Resume and run until OnResponseStarted. | 872 // Resume and run until OnResponseStarted. |
| 809 raw_ptr_resource_handler_->Resume(); | 873 raw_ptr_resource_handler_->Resume(); |
| 810 raw_ptr_resource_handler_->WaitUntilDeferred(); | 874 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 811 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); | 875 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); |
| 876 EXPECT_EQ(2, handle_external_protocol_); | |
| 812 | 877 |
| 813 // Spinning the message loop should not advance the state further. | 878 // Spinning the message loop should not advance the state further. |
| 814 base::RunLoop().RunUntilIdle(); | 879 base::RunLoop().RunUntilIdle(); |
| 815 EXPECT_EQ(1, did_receive_response_); | 880 EXPECT_EQ(1, did_receive_response_); |
| 816 EXPECT_EQ(0, did_finish_loading_); | 881 EXPECT_EQ(0, did_finish_loading_); |
| 817 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); | 882 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); |
| 818 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); | 883 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); |
| 819 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 884 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 820 | 885 |
| 821 // Resume and run until OnReadCompleted. | 886 // Resume and run until OnReadCompleted. |
| 822 raw_ptr_resource_handler_->Resume(); | 887 raw_ptr_resource_handler_->Resume(); |
| 823 raw_ptr_resource_handler_->WaitUntilDeferred(); | 888 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 824 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); | 889 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
| 825 | 890 |
| 826 // Spinning the message loop should not advance the state further. | 891 // Spinning the message loop should not advance the state further. |
| 827 base::RunLoop().RunUntilIdle(); | 892 base::RunLoop().RunUntilIdle(); |
| 828 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_read_called()); | 893 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_read_called()); |
| 829 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); | 894 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_completed_called()); |
| 830 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof()); | 895 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_eof()); |
| 831 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 896 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 832 | 897 |
| 833 // Resume and run until the final 0-byte read, signalling EOF. | 898 // Resume and run until the final 0-byte read, signaling EOF. |
| 834 raw_ptr_resource_handler_->Resume(); | 899 raw_ptr_resource_handler_->Resume(); |
| 835 raw_ptr_resource_handler_->WaitUntilDeferred(); | 900 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 836 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); | 901 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); |
| 837 | 902 |
| 838 // Spinning the message loop should not advance the state further. | 903 // Spinning the message loop should not advance the state further. |
| 839 base::RunLoop().RunUntilIdle(); | 904 base::RunLoop().RunUntilIdle(); |
| 840 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); | 905 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); |
| 841 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 906 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 842 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 907 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
| 843 | 908 |
| 844 // Resume and run until OnResponseCompleted is called, which again defers the | 909 // Resume and run until OnResponseCompleted is called, which again defers the |
| 845 // request. | 910 // request. |
| 846 raw_ptr_resource_handler_->Resume(); | 911 raw_ptr_resource_handler_->Resume(); |
| 847 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 912 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
| 848 EXPECT_EQ(0, did_finish_loading_); | 913 EXPECT_EQ(0, did_finish_loading_); |
| 849 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 914 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 850 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); | 915 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); |
| 851 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 916 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
| 852 | 917 |
| 853 // Resume and run until all pending tasks. Note that OnResponseCompleted was | 918 // Resume and run until all pending tasks. Note that OnResponseCompleted was |
| 854 // invoked in the previous section, so can't use RunUntilCompleted(). | 919 // invoked in the previous section, so can't use RunUntilCompleted(). |
| 855 raw_ptr_resource_handler_->Resume(); | 920 raw_ptr_resource_handler_->Resume(); |
| 856 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 921 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 857 | 922 |
| 858 base::RunLoop().RunUntilIdle(); | 923 base::RunLoop().RunUntilIdle(); |
| 859 EXPECT_EQ(1, did_finish_loading_); | 924 EXPECT_EQ(1, did_finish_loading_); |
| 860 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 925 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 861 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); | 926 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); |
| 862 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 927 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
| 928 EXPECT_EQ(2, handle_external_protocol_); | |
| 863 } | 929 } |
| 864 | 930 |
| 865 // Same as above, except reads complete asynchronously and there's no redirect. | 931 // Same as above, except reads complete asynchronously and there's no redirect. |
| 866 TEST_F(ResourceLoaderTest, AsyncResourceHandlerAsyncReads) { | 932 TEST_F(ResourceLoaderTest, AsyncResourceHandlerAsyncReads) { |
| 867 SetUpResourceLoaderForUrl(test_async_url()); | 933 SetUpResourceLoaderForUrl(test_async_url()); |
| 868 | 934 |
| 869 raw_ptr_resource_handler_->set_defer_on_will_start(true); | 935 raw_ptr_resource_handler_->set_defer_on_will_start(true); |
| 870 raw_ptr_resource_handler_->set_defer_on_response_started(true); | 936 raw_ptr_resource_handler_->set_defer_on_response_started(true); |
| 871 raw_ptr_resource_handler_->set_defer_on_read_completed(true); | 937 raw_ptr_resource_handler_->set_defer_on_read_completed(true); |
| 872 raw_ptr_resource_handler_->set_defer_on_read_eof(true); | 938 raw_ptr_resource_handler_->set_defer_on_read_eof(true); |
| 873 raw_ptr_resource_handler_->set_defer_on_response_completed(true); | 939 raw_ptr_resource_handler_->set_defer_on_response_completed(true); |
| 874 | 940 |
| 875 // Start and run until OnWillStart. | 941 // Start and run until OnWillStart. |
| 876 loader_->StartRequest(); | 942 loader_->StartRequest(); |
| 877 raw_ptr_resource_handler_->WaitUntilDeferred(); | 943 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 878 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 944 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
| 879 | 945 |
| 880 // Spinning the message loop should not advance the state further. | 946 // Spinning the message loop should not advance the state further. |
| 881 base::RunLoop().RunUntilIdle(); | 947 base::RunLoop().RunUntilIdle(); |
| 882 EXPECT_EQ(0, did_start_request_); | 948 EXPECT_EQ(0, did_start_request_); |
| 883 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 949 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
| 884 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); | 950 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 885 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 951 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 952 EXPECT_EQ(0, handle_external_protocol_); | |
| 886 | 953 |
| 887 // Resume and run until OnResponseStarted. | 954 // Resume and run until OnResponseStarted. |
| 888 raw_ptr_resource_handler_->Resume(); | 955 raw_ptr_resource_handler_->Resume(); |
| 889 raw_ptr_resource_handler_->WaitUntilDeferred(); | 956 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 890 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); | 957 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); |
| 958 EXPECT_EQ(1, handle_external_protocol_); | |
| 891 | 959 |
| 892 // Spinning the message loop should not advance the state further. | 960 // Spinning the message loop should not advance the state further. |
| 893 base::RunLoop().RunUntilIdle(); | 961 base::RunLoop().RunUntilIdle(); |
| 894 EXPECT_EQ(1, did_receive_response_); | 962 EXPECT_EQ(1, did_receive_response_); |
| 895 EXPECT_EQ(0, did_finish_loading_); | 963 EXPECT_EQ(0, did_finish_loading_); |
| 896 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); | 964 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); |
| 897 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); | 965 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); |
| 898 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 966 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 899 | 967 |
| 900 // Resume and run until OnReadCompleted. | 968 // Resume and run until OnReadCompleted. |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 932 // Resume and run until all pending tasks. Note that OnResponseCompleted was | 1000 // Resume and run until all pending tasks. Note that OnResponseCompleted was |
| 933 // invoked in the previous section, so can't use RunUntilCompleted(). | 1001 // invoked in the previous section, so can't use RunUntilCompleted(). |
| 934 raw_ptr_resource_handler_->Resume(); | 1002 raw_ptr_resource_handler_->Resume(); |
| 935 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1003 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 936 | 1004 |
| 937 base::RunLoop().RunUntilIdle(); | 1005 base::RunLoop().RunUntilIdle(); |
| 938 EXPECT_EQ(1, did_finish_loading_); | 1006 EXPECT_EQ(1, did_finish_loading_); |
| 939 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1007 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 940 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); | 1008 EXPECT_EQ(net::OK, raw_ptr_resource_handler_->final_status().error()); |
| 941 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 1009 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
| 1010 EXPECT_EQ(1, handle_external_protocol_); | |
| 942 } | 1011 } |
| 943 | 1012 |
| 944 TEST_F(ResourceLoaderTest, SyncCancelOnWillStart) { | 1013 TEST_F(ResourceLoaderTest, SyncCancelOnWillStart) { |
| 945 raw_ptr_resource_handler_->set_on_will_start_result(false); | 1014 raw_ptr_resource_handler_->set_on_will_start_result(false); |
| 946 | 1015 |
| 947 loader_->StartRequest(); | 1016 loader_->StartRequest(); |
| 948 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 1017 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
| 949 base::RunLoop().RunUntilIdle(); | 1018 base::RunLoop().RunUntilIdle(); |
| 950 EXPECT_EQ(0, did_start_request_); | 1019 EXPECT_EQ(0, did_start_request_); |
| 951 EXPECT_EQ(1, did_finish_loading_); | 1020 EXPECT_EQ(1, did_finish_loading_); |
| 1021 EXPECT_EQ(0, handle_external_protocol_); | |
| 952 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 1022 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
| 953 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); | 1023 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 954 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_started_called()); | 1024 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_started_called()); |
| 955 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1025 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 956 | 1026 |
| 957 EXPECT_EQ(net::ERR_ABORTED, | 1027 EXPECT_EQ(net::ERR_ABORTED, |
| 958 raw_ptr_resource_handler_->final_status().error()); | 1028 raw_ptr_resource_handler_->final_status().error()); |
| 959 EXPECT_EQ("", raw_ptr_resource_handler_->body()); | 1029 EXPECT_EQ("", raw_ptr_resource_handler_->body()); |
| 960 } | 1030 } |
| 961 | 1031 |
| 962 TEST_F(ResourceLoaderTest, SyncCancelOnRequestRedirected) { | 1032 TEST_F(ResourceLoaderTest, SyncCancelOnRequestRedirected) { |
| 963 raw_ptr_resource_handler_->set_on_request_redirected_result(false); | 1033 raw_ptr_resource_handler_->set_on_request_redirected_result(false); |
| 964 | 1034 |
| 965 loader_->StartRequest(); | 1035 loader_->StartRequest(); |
| 966 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 1036 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
| 967 base::RunLoop().RunUntilIdle(); | 1037 base::RunLoop().RunUntilIdle(); |
| 968 EXPECT_EQ(1, did_received_redirect_); | 1038 EXPECT_EQ(1, did_received_redirect_); |
| 969 EXPECT_EQ(0, did_receive_response_); | 1039 EXPECT_EQ(0, did_receive_response_); |
| 970 EXPECT_EQ(1, did_finish_loading_); | 1040 EXPECT_EQ(1, did_finish_loading_); |
| 1041 EXPECT_EQ(1, handle_external_protocol_); | |
| 971 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); | 1042 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 972 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); | 1043 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); |
| 973 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); | 1044 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); |
| 974 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1045 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 975 | 1046 |
| 976 EXPECT_EQ(net::ERR_ABORTED, | 1047 EXPECT_EQ(net::ERR_ABORTED, |
| 977 raw_ptr_resource_handler_->final_status().error()); | 1048 raw_ptr_resource_handler_->final_status().error()); |
| 978 EXPECT_EQ("", raw_ptr_resource_handler_->body()); | 1049 EXPECT_EQ("", raw_ptr_resource_handler_->body()); |
| 979 } | 1050 } |
| 980 | 1051 |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1083 | 1154 |
| 1084 TEST_F(ResourceLoaderTest, AsyncCancelOnWillStart) { | 1155 TEST_F(ResourceLoaderTest, AsyncCancelOnWillStart) { |
| 1085 raw_ptr_resource_handler_->set_defer_on_will_start(true); | 1156 raw_ptr_resource_handler_->set_defer_on_will_start(true); |
| 1086 | 1157 |
| 1087 loader_->StartRequest(); | 1158 loader_->StartRequest(); |
| 1088 raw_ptr_resource_handler_->WaitUntilDeferred(); | 1159 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 1089 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); | 1160 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); |
| 1090 base::RunLoop().RunUntilIdle(); | 1161 base::RunLoop().RunUntilIdle(); |
| 1091 EXPECT_EQ(0, did_start_request_); | 1162 EXPECT_EQ(0, did_start_request_); |
| 1092 EXPECT_EQ(1, did_finish_loading_); | 1163 EXPECT_EQ(1, did_finish_loading_); |
| 1164 EXPECT_EQ(0, handle_external_protocol_); | |
| 1093 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 1165 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
| 1094 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); | 1166 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 1095 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_started_called()); | 1167 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_started_called()); |
| 1096 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1168 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 1097 | 1169 |
| 1098 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); | 1170 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); |
| 1099 EXPECT_EQ("", raw_ptr_resource_handler_->body()); | 1171 EXPECT_EQ("", raw_ptr_resource_handler_->body()); |
| 1100 } | 1172 } |
| 1101 | 1173 |
| 1102 TEST_F(ResourceLoaderTest, AsyncCancelOnRequestRedirected) { | 1174 TEST_F(ResourceLoaderTest, AsyncCancelOnRequestRedirected) { |
| 1103 raw_ptr_resource_handler_->set_defer_on_request_redirected(true); | 1175 raw_ptr_resource_handler_->set_defer_on_request_redirected(true); |
| 1104 | 1176 |
| 1105 loader_->StartRequest(); | 1177 loader_->StartRequest(); |
| 1106 raw_ptr_resource_handler_->WaitUntilDeferred(); | 1178 raw_ptr_resource_handler_->WaitUntilDeferred(); |
| 1107 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); | 1179 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); |
| 1108 base::RunLoop().RunUntilIdle(); | 1180 base::RunLoop().RunUntilIdle(); |
| 1109 EXPECT_EQ(1, did_received_redirect_); | 1181 EXPECT_EQ(1, did_received_redirect_); |
| 1110 EXPECT_EQ(0, did_receive_response_); | 1182 EXPECT_EQ(0, did_receive_response_); |
| 1111 EXPECT_EQ(1, did_finish_loading_); | 1183 EXPECT_EQ(1, did_finish_loading_); |
| 1184 EXPECT_EQ(1, handle_external_protocol_); | |
| 1112 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); | 1185 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 1113 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); | 1186 EXPECT_EQ(0, raw_ptr_resource_handler_->on_will_read_called()); |
| 1114 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); | 1187 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); |
| 1115 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1188 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 1116 | 1189 |
| 1117 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); | 1190 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); |
| 1118 EXPECT_EQ("", raw_ptr_resource_handler_->body()); | 1191 EXPECT_EQ("", raw_ptr_resource_handler_->body()); |
| 1119 } | 1192 } |
| 1120 | 1193 |
| 1121 TEST_F(ResourceLoaderTest, AsyncCancelOnResponseStarted) { | 1194 TEST_F(ResourceLoaderTest, AsyncCancelOnResponseStarted) { |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1197 base::RunLoop().RunUntilIdle(); | 1270 base::RunLoop().RunUntilIdle(); |
| 1198 EXPECT_EQ(1, did_receive_response_); | 1271 EXPECT_EQ(1, did_receive_response_); |
| 1199 EXPECT_EQ(1, did_finish_loading_); | 1272 EXPECT_EQ(1, did_finish_loading_); |
| 1200 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); | 1273 EXPECT_EQ(1, raw_ptr_resource_handler_->on_read_eof()); |
| 1201 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1274 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 1202 | 1275 |
| 1203 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); | 1276 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); |
| 1204 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); | 1277 EXPECT_EQ(test_data(), raw_ptr_resource_handler_->body()); |
| 1205 } | 1278 } |
| 1206 | 1279 |
| 1280 // Tests the request being deferred and then being handled as an external | |
| 1281 // protocol, both on start. | |
| 1282 TEST_F(ResourceLoaderTest, AsyncExternalProtocolHandlingOnStart) { | |
| 1283 handle_external_protocol_results_ = {true}; | |
| 1284 raw_ptr_resource_handler_->set_defer_on_will_start(true); | |
| 1285 | |
| 1286 loader_->StartRequest(); | |
| 1287 raw_ptr_resource_handler_->WaitUntilDeferred(); | |
| 1288 EXPECT_EQ(0, did_finish_loading_); | |
| 1289 EXPECT_EQ(0, handle_external_protocol_); | |
| 1290 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | |
| 1291 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | |
| 1292 | |
| 1293 raw_ptr_resource_handler_->Resume(); | |
| 1294 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | |
| 1295 EXPECT_EQ(0, did_start_request_); | |
| 1296 EXPECT_EQ(1, did_finish_loading_); | |
| 1297 EXPECT_EQ(1, handle_external_protocol_); | |
| 1298 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | |
| 1299 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); | |
| 1300 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_started_called()); | |
| 1301 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | |
| 1302 | |
| 1303 EXPECT_EQ(net::ERR_ABORTED, | |
| 1304 raw_ptr_resource_handler_->final_status().error()); | |
| 1305 EXPECT_EQ("", raw_ptr_resource_handler_->body()); | |
| 1306 } | |
| 1307 | |
| 1308 // Tests the request being deferred and then being handled as an external | |
| 1309 // protocol, both on redirect. | |
| 1310 TEST_F(ResourceLoaderTest, AsyncExternalProtocolHandlingOnRedirect) { | |
| 1311 handle_external_protocol_results_ = {false, true}; | |
| 1312 raw_ptr_resource_handler_->set_defer_on_request_redirected(true); | |
| 1313 | |
| 1314 loader_->StartRequest(); | |
| 1315 raw_ptr_resource_handler_->WaitUntilDeferred(); | |
| 1316 EXPECT_EQ(1, did_start_request_); | |
| 1317 EXPECT_EQ(1, did_received_redirect_); | |
|
carlosk
2016/12/20 19:23:31
In the process I created the async tests I noticed
jam
2016/12/20 20:55:56
I suspect the order didn't matter and it wasn't in
carlosk
2016/12/20 22:21:56
It is orthogonal; I was just curious. Thanks.
| |
| 1318 EXPECT_EQ(0, did_finish_loading_); | |
| 1319 EXPECT_EQ(1, handle_external_protocol_); | |
| 1320 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | |
| 1321 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); | |
| 1322 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | |
| 1323 | |
| 1324 raw_ptr_resource_handler_->Resume(); | |
| 1325 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | |
| 1326 EXPECT_EQ(1, did_start_request_); | |
| 1327 EXPECT_EQ(1, did_received_redirect_); | |
| 1328 EXPECT_EQ(0, did_receive_response_); | |
| 1329 EXPECT_EQ(1, did_finish_loading_); | |
| 1330 EXPECT_EQ(2, handle_external_protocol_); | |
| 1331 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | |
| 1332 EXPECT_EQ(1, raw_ptr_resource_handler_->on_request_redirected_called()); | |
| 1333 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_started_called()); | |
| 1334 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | |
| 1335 | |
| 1336 EXPECT_EQ(net::ERR_ABORTED, | |
| 1337 raw_ptr_resource_handler_->final_status().error()); | |
| 1338 EXPECT_EQ("", raw_ptr_resource_handler_->body()); | |
| 1339 } | |
| 1340 | |
| 1207 TEST_F(ResourceLoaderTest, RequestFailsOnStart) { | 1341 TEST_F(ResourceLoaderTest, RequestFailsOnStart) { |
| 1208 SetUpResourceLoaderForUrl( | 1342 SetUpResourceLoaderForUrl( |
| 1209 net::URLRequestFailedJob::GetMockHttpUrlWithFailurePhase( | 1343 net::URLRequestFailedJob::GetMockHttpUrlWithFailurePhase( |
| 1210 net::URLRequestFailedJob::START, net::ERR_FAILED)); | 1344 net::URLRequestFailedJob::START, net::ERR_FAILED)); |
| 1211 | 1345 |
| 1212 loader_->StartRequest(); | 1346 loader_->StartRequest(); |
| 1213 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 1347 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
| 1214 base::RunLoop().RunUntilIdle(); | 1348 base::RunLoop().RunUntilIdle(); |
| 1215 EXPECT_EQ(0, did_received_redirect_); | 1349 EXPECT_EQ(0, did_received_redirect_); |
| 1216 EXPECT_EQ(0, did_receive_response_); | 1350 EXPECT_EQ(0, did_receive_response_); |
| 1217 EXPECT_EQ(1, did_finish_loading_); | 1351 EXPECT_EQ(1, did_finish_loading_); |
| 1352 EXPECT_EQ(1, handle_external_protocol_); | |
| 1218 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 1353 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
| 1219 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); | 1354 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 1220 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_started_called()); | 1355 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_started_called()); |
| 1221 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1356 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 1222 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); | 1357 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); |
| 1223 EXPECT_EQ("", raw_ptr_resource_handler_->body()); | 1358 EXPECT_EQ("", raw_ptr_resource_handler_->body()); |
| 1224 } | 1359 } |
| 1225 | 1360 |
| 1226 TEST_F(ResourceLoaderTest, RequestFailsOnReadSync) { | 1361 TEST_F(ResourceLoaderTest, RequestFailsOnReadSync) { |
| 1227 SetUpResourceLoaderForUrl( | 1362 SetUpResourceLoaderForUrl( |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1267 SetUpResourceLoaderForUrl( | 1402 SetUpResourceLoaderForUrl( |
| 1268 net::URLRequestFailedJob::GetMockHttpUrlWithFailurePhase( | 1403 net::URLRequestFailedJob::GetMockHttpUrlWithFailurePhase( |
| 1269 net::URLRequestFailedJob::START, net::ERR_IO_PENDING)); | 1404 net::URLRequestFailedJob::START, net::ERR_IO_PENDING)); |
| 1270 | 1405 |
| 1271 loader_->StartRequest(); | 1406 loader_->StartRequest(); |
| 1272 base::RunLoop().RunUntilIdle(); | 1407 base::RunLoop().RunUntilIdle(); |
| 1273 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 1408 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
| 1274 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); | 1409 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 1275 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_started_called()); | 1410 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_started_called()); |
| 1276 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 1411 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 1412 EXPECT_EQ(1, handle_external_protocol_); | |
| 1277 | 1413 |
| 1278 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); | 1414 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); |
| 1279 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 1415 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
| 1280 | 1416 |
| 1281 EXPECT_EQ(0, did_received_redirect_); | 1417 EXPECT_EQ(0, did_received_redirect_); |
| 1282 EXPECT_EQ(0, did_receive_response_); | 1418 EXPECT_EQ(0, did_receive_response_); |
| 1283 EXPECT_EQ(1, did_finish_loading_); | 1419 EXPECT_EQ(1, did_finish_loading_); |
| 1420 EXPECT_EQ(1, handle_external_protocol_); | |
| 1284 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 1421 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
| 1285 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); | 1422 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 1286 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_started_called()); | 1423 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_started_called()); |
| 1287 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1424 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 1288 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); | 1425 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); |
| 1289 EXPECT_EQ("", raw_ptr_resource_handler_->body()); | 1426 EXPECT_EQ("", raw_ptr_resource_handler_->body()); |
| 1290 } | 1427 } |
| 1291 | 1428 |
| 1292 TEST_F(ResourceLoaderTest, OutOfBandCancelDuringRead) { | 1429 TEST_F(ResourceLoaderTest, OutOfBandCancelDuringRead) { |
| 1293 SetUpResourceLoaderForUrl( | 1430 SetUpResourceLoaderForUrl( |
| 1294 net::URLRequestFailedJob::GetMockHttpUrlWithFailurePhase( | 1431 net::URLRequestFailedJob::GetMockHttpUrlWithFailurePhase( |
| 1295 net::URLRequestFailedJob::READ_SYNC, net::ERR_IO_PENDING)); | 1432 net::URLRequestFailedJob::READ_SYNC, net::ERR_IO_PENDING)); |
| 1296 | 1433 |
| 1297 loader_->StartRequest(); | 1434 loader_->StartRequest(); |
| 1298 base::RunLoop().RunUntilIdle(); | 1435 base::RunLoop().RunUntilIdle(); |
| 1299 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 1436 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
| 1300 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); | 1437 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 1301 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); | 1438 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); |
| 1302 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); | 1439 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); |
| 1303 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); | 1440 EXPECT_EQ(0, raw_ptr_resource_handler_->on_response_completed_called()); |
| 1441 EXPECT_EQ(1, handle_external_protocol_); | |
| 1304 | 1442 |
| 1305 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); | 1443 raw_ptr_resource_handler_->CancelWithError(net::ERR_FAILED); |
| 1306 raw_ptr_resource_handler_->WaitUntilResponseComplete(); | 1444 raw_ptr_resource_handler_->WaitUntilResponseComplete(); |
| 1307 EXPECT_EQ(0, did_received_redirect_); | 1445 EXPECT_EQ(0, did_received_redirect_); |
| 1308 EXPECT_EQ(1, did_receive_response_); | 1446 EXPECT_EQ(1, did_receive_response_); |
| 1309 EXPECT_EQ(1, did_finish_loading_); | 1447 EXPECT_EQ(1, did_finish_loading_); |
| 1448 EXPECT_EQ(1, handle_external_protocol_); | |
| 1310 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); | 1449 EXPECT_EQ(1, raw_ptr_resource_handler_->on_will_start_called()); |
| 1311 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); | 1450 EXPECT_EQ(0, raw_ptr_resource_handler_->on_request_redirected_called()); |
| 1312 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); | 1451 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_started_called()); |
| 1313 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); | 1452 EXPECT_EQ(0, raw_ptr_resource_handler_->on_read_completed_called()); |
| 1314 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); | 1453 EXPECT_EQ(1, raw_ptr_resource_handler_->on_response_completed_called()); |
| 1315 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); | 1454 EXPECT_EQ(net::ERR_FAILED, raw_ptr_resource_handler_->final_status().error()); |
| 1316 EXPECT_EQ("", raw_ptr_resource_handler_->body()); | 1455 EXPECT_EQ("", raw_ptr_resource_handler_->body()); |
| 1317 } | 1456 } |
| 1318 | 1457 |
| 1319 TEST_F(ResourceLoaderTest, ResumeCanceledRequest) { | 1458 TEST_F(ResourceLoaderTest, ResumeCanceledRequest) { |
| (...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1602 | 1741 |
| 1603 // Tests that the effective connection type is not set on non-main frame | 1742 // Tests that the effective connection type is not set on non-main frame |
| 1604 // requests. | 1743 // requests. |
| 1605 TEST_F(EffectiveConnectionTypeResourceLoaderTest, DoesNotBelongToMainFrame) { | 1744 TEST_F(EffectiveConnectionTypeResourceLoaderTest, DoesNotBelongToMainFrame) { |
| 1606 VerifyEffectiveConnectionType(RESOURCE_TYPE_OBJECT, false, | 1745 VerifyEffectiveConnectionType(RESOURCE_TYPE_OBJECT, false, |
| 1607 net::EFFECTIVE_CONNECTION_TYPE_3G, | 1746 net::EFFECTIVE_CONNECTION_TYPE_3G, |
| 1608 net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN); | 1747 net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN); |
| 1609 } | 1748 } |
| 1610 | 1749 |
| 1611 } // namespace content | 1750 } // namespace content |
| OLD | NEW |