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