OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "build/build_config.h" | 5 #include "build/build_config.h" |
6 | 6 |
7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
8 #include <windows.h> | 8 #include <windows.h> |
9 #include <shlobj.h> | 9 #include <shlobj.h> |
10 #endif | 10 #endif |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 #include "net/disk_cache/disk_cache.h" | 51 #include "net/disk_cache/disk_cache.h" |
52 #include "net/dns/mock_host_resolver.h" | 52 #include "net/dns/mock_host_resolver.h" |
53 #include "net/ftp/ftp_network_layer.h" | 53 #include "net/ftp/ftp_network_layer.h" |
54 #include "net/http/http_byte_range.h" | 54 #include "net/http/http_byte_range.h" |
55 #include "net/http/http_cache.h" | 55 #include "net/http/http_cache.h" |
56 #include "net/http/http_network_layer.h" | 56 #include "net/http/http_network_layer.h" |
57 #include "net/http/http_network_session.h" | 57 #include "net/http/http_network_session.h" |
58 #include "net/http/http_request_headers.h" | 58 #include "net/http/http_request_headers.h" |
59 #include "net/http/http_response_headers.h" | 59 #include "net/http/http_response_headers.h" |
60 #include "net/http/http_util.h" | 60 #include "net/http/http_util.h" |
61 #include "net/log/capturing_net_log.h" | |
62 #include "net/log/net_log.h" | 61 #include "net/log/net_log.h" |
63 #include "net/log/net_log_unittest.h" | 62 #include "net/log/net_log_unittest.h" |
| 63 #include "net/log/test_net_log.h" |
64 #include "net/proxy/proxy_service.h" | 64 #include "net/proxy/proxy_service.h" |
65 #include "net/socket/ssl_client_socket.h" | 65 #include "net/socket/ssl_client_socket.h" |
66 #include "net/ssl/ssl_cipher_suite_names.h" | 66 #include "net/ssl/ssl_cipher_suite_names.h" |
67 #include "net/ssl/ssl_connection_status_flags.h" | 67 #include "net/ssl/ssl_connection_status_flags.h" |
68 #include "net/test/cert_test_util.h" | 68 #include "net/test/cert_test_util.h" |
69 #include "net/test/spawned_test_server/spawned_test_server.h" | 69 #include "net/test/spawned_test_server/spawned_test_server.h" |
70 #include "net/url_request/data_protocol_handler.h" | 70 #include "net/url_request/data_protocol_handler.h" |
71 #include "net/url_request/static_http_user_agent_settings.h" | 71 #include "net/url_request/static_http_user_agent_settings.h" |
72 #include "net/url_request/url_request.h" | 72 #include "net/url_request/url_request.h" |
73 #include "net/url_request/url_request_http_job.h" | 73 #include "net/url_request/url_request_http_job.h" |
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
644 | 644 |
645 // Adds the TestJobInterceptor to the default context. | 645 // Adds the TestJobInterceptor to the default context. |
646 TestJobInterceptor* AddTestInterceptor() { | 646 TestJobInterceptor* AddTestInterceptor() { |
647 TestJobInterceptor* protocol_handler_ = new TestJobInterceptor(); | 647 TestJobInterceptor* protocol_handler_ = new TestJobInterceptor(); |
648 job_factory_impl_->SetProtocolHandler("http", NULL); | 648 job_factory_impl_->SetProtocolHandler("http", NULL); |
649 job_factory_impl_->SetProtocolHandler("http", protocol_handler_); | 649 job_factory_impl_->SetProtocolHandler("http", protocol_handler_); |
650 return protocol_handler_; | 650 return protocol_handler_; |
651 } | 651 } |
652 | 652 |
653 protected: | 653 protected: |
654 CapturingNetLog net_log_; | 654 TestNetLog net_log_; |
655 TestNetworkDelegate default_network_delegate_; // Must outlive URLRequest. | 655 TestNetworkDelegate default_network_delegate_; // Must outlive URLRequest. |
656 URLRequestJobFactoryImpl* job_factory_impl_; | 656 URLRequestJobFactoryImpl* job_factory_impl_; |
657 scoped_ptr<URLRequestJobFactory> job_factory_; | 657 scoped_ptr<URLRequestJobFactory> job_factory_; |
658 TestURLRequestContext default_context_; | 658 TestURLRequestContext default_context_; |
659 }; | 659 }; |
660 | 660 |
661 TEST_F(URLRequestTest, AboutBlankTest) { | 661 TEST_F(URLRequestTest, AboutBlankTest) { |
662 TestDelegate d; | 662 TestDelegate d; |
663 { | 663 { |
664 scoped_ptr<URLRequest> r(default_context_.CreateRequest( | 664 scoped_ptr<URLRequest> r(default_context_.CreateRequest( |
(...skipping 3487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4152 expected_second_load_state, | 4152 expected_second_load_state, |
4153 expected_third_load_state, | 4153 expected_third_load_state, |
4154 callback); | 4154 callback); |
4155 logger->Start(); | 4155 logger->Start(); |
4156 } | 4156 } |
4157 | 4157 |
4158 // Checks that the log entries, starting with log_position, contain the | 4158 // Checks that the log entries, starting with log_position, contain the |
4159 // DELEGATE_INFO NetLog events that an AsyncDelegateLogger should have | 4159 // DELEGATE_INFO NetLog events that an AsyncDelegateLogger should have |
4160 // recorded. Returns the index of entry after the expected number of | 4160 // recorded. Returns the index of entry after the expected number of |
4161 // events this logged, or entries.size() if there aren't enough entries. | 4161 // events this logged, or entries.size() if there aren't enough entries. |
4162 static size_t CheckDelegateInfo( | 4162 static size_t CheckDelegateInfo(const TestNetLog::CapturedEntryList& entries, |
4163 const CapturingNetLog::CapturedEntryList& entries, size_t log_position) { | 4163 size_t log_position) { |
4164 // There should be 4 DELEGATE_INFO events: Two begins and two ends. | 4164 // There should be 4 DELEGATE_INFO events: Two begins and two ends. |
4165 if (log_position + 3 >= entries.size()) { | 4165 if (log_position + 3 >= entries.size()) { |
4166 ADD_FAILURE() << "Not enough log entries"; | 4166 ADD_FAILURE() << "Not enough log entries"; |
4167 return entries.size(); | 4167 return entries.size(); |
4168 } | 4168 } |
4169 std::string delegate_info; | 4169 std::string delegate_info; |
4170 EXPECT_EQ(NetLog::TYPE_DELEGATE_INFO, entries[log_position].type); | 4170 EXPECT_EQ(NetLog::TYPE_DELEGATE_INFO, entries[log_position].type); |
4171 EXPECT_EQ(NetLog::PHASE_BEGIN, entries[log_position].phase); | 4171 EXPECT_EQ(NetLog::PHASE_BEGIN, entries[log_position].phase); |
4172 EXPECT_TRUE(entries[log_position].GetStringValue("delegate_info", | 4172 EXPECT_TRUE(entries[log_position].GetStringValue("delegate_info", |
4173 &delegate_info)); | 4173 &delegate_info)); |
(...skipping 13 matching lines...) Expand all Loading... |
4187 ++log_position; | 4187 ++log_position; |
4188 EXPECT_EQ(NetLog::TYPE_DELEGATE_INFO, entries[log_position].type); | 4188 EXPECT_EQ(NetLog::TYPE_DELEGATE_INFO, entries[log_position].type); |
4189 EXPECT_EQ(NetLog::PHASE_END, entries[log_position].phase); | 4189 EXPECT_EQ(NetLog::PHASE_END, entries[log_position].phase); |
4190 | 4190 |
4191 return log_position + 1; | 4191 return log_position + 1; |
4192 } | 4192 } |
4193 | 4193 |
4194 // Find delegate request begin and end messages for OnBeforeNetworkStart. | 4194 // Find delegate request begin and end messages for OnBeforeNetworkStart. |
4195 // Returns the position of the end message. | 4195 // Returns the position of the end message. |
4196 static size_t ExpectBeforeNetworkEvents( | 4196 static size_t ExpectBeforeNetworkEvents( |
4197 const CapturingNetLog::CapturedEntryList& entries, | 4197 const TestNetLog::CapturedEntryList& entries, |
4198 size_t log_position) { | 4198 size_t log_position) { |
4199 log_position = | 4199 log_position = |
4200 ExpectLogContainsSomewhereAfter(entries, | 4200 ExpectLogContainsSomewhereAfter(entries, |
4201 log_position, | 4201 log_position, |
4202 NetLog::TYPE_URL_REQUEST_DELEGATE, | 4202 NetLog::TYPE_URL_REQUEST_DELEGATE, |
4203 NetLog::PHASE_BEGIN); | 4203 NetLog::PHASE_BEGIN); |
4204 EXPECT_EQ(NetLog::TYPE_URL_REQUEST_DELEGATE, | 4204 EXPECT_EQ(NetLog::TYPE_URL_REQUEST_DELEGATE, |
4205 entries[log_position + 1].type); | 4205 entries[log_position + 1].type); |
4206 EXPECT_EQ(NetLog::PHASE_END, entries[log_position + 1].phase); | 4206 EXPECT_EQ(NetLog::PHASE_END, entries[log_position + 1].phase); |
4207 return log_position + 1; | 4207 return log_position + 1; |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4454 LOAD_STATE_WAITING_FOR_DELEGATE, | 4454 LOAD_STATE_WAITING_FOR_DELEGATE, |
4455 LOAD_STATE_IDLE, | 4455 LOAD_STATE_IDLE, |
4456 base::Bind(&URLRequest::Start, base::Unretained(r.get()))); | 4456 base::Bind(&URLRequest::Start, base::Unretained(r.get()))); |
4457 | 4457 |
4458 base::RunLoop().Run(); | 4458 base::RunLoop().Run(); |
4459 | 4459 |
4460 EXPECT_EQ(200, r->GetResponseCode()); | 4460 EXPECT_EQ(200, r->GetResponseCode()); |
4461 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); | 4461 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); |
4462 } | 4462 } |
4463 | 4463 |
4464 CapturingNetLog::CapturedEntryList entries; | 4464 TestNetLog::CapturedEntryList entries; |
4465 net_log_.GetEntries(&entries); | 4465 net_log_.GetEntries(&entries); |
4466 size_t log_position = ExpectLogContainsSomewhereAfter( | 4466 size_t log_position = ExpectLogContainsSomewhereAfter( |
4467 entries, | 4467 entries, |
4468 0, | 4468 0, |
4469 NetLog::TYPE_DELEGATE_INFO, | 4469 NetLog::TYPE_DELEGATE_INFO, |
4470 NetLog::PHASE_BEGIN); | 4470 NetLog::PHASE_BEGIN); |
4471 | 4471 |
4472 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, log_position); | 4472 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, log_position); |
4473 | 4473 |
4474 // Nothing else should add any delegate info to the request. | 4474 // Nothing else should add any delegate info to the request. |
(...skipping 24 matching lines...) Expand all Loading... |
4499 base::RunLoop().Run(); | 4499 base::RunLoop().Run(); |
4500 | 4500 |
4501 EXPECT_EQ(200, r->GetResponseCode()); | 4501 EXPECT_EQ(200, r->GetResponseCode()); |
4502 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); | 4502 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); |
4503 EXPECT_EQ(1, network_delegate.created_requests()); | 4503 EXPECT_EQ(1, network_delegate.created_requests()); |
4504 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 4504 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
4505 } | 4505 } |
4506 EXPECT_EQ(1, network_delegate.destroyed_requests()); | 4506 EXPECT_EQ(1, network_delegate.destroyed_requests()); |
4507 | 4507 |
4508 size_t log_position = 0; | 4508 size_t log_position = 0; |
4509 CapturingNetLog::CapturedEntryList entries; | 4509 TestNetLog::CapturedEntryList entries; |
4510 net_log_.GetEntries(&entries); | 4510 net_log_.GetEntries(&entries); |
4511 for (size_t i = 0; i < 3; ++i) { | 4511 for (size_t i = 0; i < 3; ++i) { |
4512 log_position = ExpectLogContainsSomewhereAfter( | 4512 log_position = ExpectLogContainsSomewhereAfter( |
4513 entries, | 4513 entries, |
4514 log_position + 1, | 4514 log_position + 1, |
4515 NetLog::TYPE_URL_REQUEST_DELEGATE, | 4515 NetLog::TYPE_URL_REQUEST_DELEGATE, |
4516 NetLog::PHASE_BEGIN); | 4516 NetLog::PHASE_BEGIN); |
4517 | 4517 |
4518 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, | 4518 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, |
4519 log_position + 1); | 4519 log_position + 1); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4556 base::RunLoop().Run(); | 4556 base::RunLoop().Run(); |
4557 | 4557 |
4558 EXPECT_EQ(200, r->GetResponseCode()); | 4558 EXPECT_EQ(200, r->GetResponseCode()); |
4559 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); | 4559 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); |
4560 EXPECT_EQ(2, network_delegate.created_requests()); | 4560 EXPECT_EQ(2, network_delegate.created_requests()); |
4561 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 4561 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
4562 } | 4562 } |
4563 EXPECT_EQ(1, network_delegate.destroyed_requests()); | 4563 EXPECT_EQ(1, network_delegate.destroyed_requests()); |
4564 | 4564 |
4565 size_t log_position = 0; | 4565 size_t log_position = 0; |
4566 CapturingNetLog::CapturedEntryList entries; | 4566 TestNetLog::CapturedEntryList entries; |
4567 net_log_.GetEntries(&entries); | 4567 net_log_.GetEntries(&entries); |
4568 // The NetworkDelegate logged information in OnBeforeURLRequest, | 4568 // The NetworkDelegate logged information in OnBeforeURLRequest, |
4569 // OnBeforeSendHeaders, and OnHeadersReceived. | 4569 // OnBeforeSendHeaders, and OnHeadersReceived. |
4570 for (size_t i = 0; i < 3; ++i) { | 4570 for (size_t i = 0; i < 3; ++i) { |
4571 log_position = ExpectLogContainsSomewhereAfter( | 4571 log_position = ExpectLogContainsSomewhereAfter( |
4572 entries, | 4572 entries, |
4573 log_position + 1, | 4573 log_position + 1, |
4574 NetLog::TYPE_URL_REQUEST_DELEGATE, | 4574 NetLog::TYPE_URL_REQUEST_DELEGATE, |
4575 NetLog::PHASE_BEGIN); | 4575 NetLog::PHASE_BEGIN); |
4576 | 4576 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4638 base::RunLoop().Run(); | 4638 base::RunLoop().Run(); |
4639 | 4639 |
4640 EXPECT_EQ(200, r->GetResponseCode()); | 4640 EXPECT_EQ(200, r->GetResponseCode()); |
4641 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); | 4641 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); |
4642 EXPECT_EQ(1, network_delegate.created_requests()); | 4642 EXPECT_EQ(1, network_delegate.created_requests()); |
4643 EXPECT_EQ(0, network_delegate.destroyed_requests()); | 4643 EXPECT_EQ(0, network_delegate.destroyed_requests()); |
4644 } | 4644 } |
4645 EXPECT_EQ(1, network_delegate.destroyed_requests()); | 4645 EXPECT_EQ(1, network_delegate.destroyed_requests()); |
4646 | 4646 |
4647 size_t log_position = 0; | 4647 size_t log_position = 0; |
4648 CapturingNetLog::CapturedEntryList entries; | 4648 TestNetLog::CapturedEntryList entries; |
4649 net_log_.GetEntries(&entries); | 4649 net_log_.GetEntries(&entries); |
4650 // The NetworkDelegate should have logged information in OnBeforeURLRequest, | 4650 // The NetworkDelegate should have logged information in OnBeforeURLRequest, |
4651 // OnBeforeSendHeaders, OnHeadersReceived, OnAuthRequired, and then again in | 4651 // OnBeforeSendHeaders, OnHeadersReceived, OnAuthRequired, and then again in |
4652 // OnBeforeURLRequest and OnBeforeSendHeaders. | 4652 // OnBeforeURLRequest and OnBeforeSendHeaders. |
4653 for (size_t i = 0; i < 6; ++i) { | 4653 for (size_t i = 0; i < 6; ++i) { |
4654 log_position = ExpectLogContainsSomewhereAfter( | 4654 log_position = ExpectLogContainsSomewhereAfter( |
4655 entries, | 4655 entries, |
4656 log_position + 1, | 4656 log_position + 1, |
4657 NetLog::TYPE_URL_REQUEST_DELEGATE, | 4657 NetLog::TYPE_URL_REQUEST_DELEGATE, |
4658 NetLog::PHASE_BEGIN); | 4658 NetLog::PHASE_BEGIN); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4695 test_server_.GetURL("chunked?waitBetweenChunks=20"), DEFAULT_PRIORITY, | 4695 test_server_.GetURL("chunked?waitBetweenChunks=20"), DEFAULT_PRIORITY, |
4696 &request_delegate)); | 4696 &request_delegate)); |
4697 LoadStateWithParam load_state = r->GetLoadState(); | 4697 LoadStateWithParam load_state = r->GetLoadState(); |
4698 r->Start(); | 4698 r->Start(); |
4699 base::RunLoop().Run(); | 4699 base::RunLoop().Run(); |
4700 | 4700 |
4701 EXPECT_EQ(200, r->GetResponseCode()); | 4701 EXPECT_EQ(200, r->GetResponseCode()); |
4702 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); | 4702 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); |
4703 } | 4703 } |
4704 | 4704 |
4705 CapturingNetLog::CapturedEntryList entries; | 4705 TestNetLog::CapturedEntryList entries; |
4706 net_log_.GetEntries(&entries); | 4706 net_log_.GetEntries(&entries); |
4707 | 4707 |
4708 size_t log_position = 0; | 4708 size_t log_position = 0; |
4709 | 4709 |
4710 log_position = AsyncDelegateLogger::ExpectBeforeNetworkEvents( | 4710 log_position = AsyncDelegateLogger::ExpectBeforeNetworkEvents( |
4711 entries, log_position); | 4711 entries, log_position); |
4712 | 4712 |
4713 // The delegate info should only have been logged on header complete. Other | 4713 // The delegate info should only have been logged on header complete. Other |
4714 // times it should silently be ignored. | 4714 // times it should silently be ignored. |
4715 log_position = | 4715 log_position = |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4748 test_server_.GetURL("server-redirect?simple.html"), DEFAULT_PRIORITY, | 4748 test_server_.GetURL("server-redirect?simple.html"), DEFAULT_PRIORITY, |
4749 &request_delegate)); | 4749 &request_delegate)); |
4750 LoadStateWithParam load_state = r->GetLoadState(); | 4750 LoadStateWithParam load_state = r->GetLoadState(); |
4751 r->Start(); | 4751 r->Start(); |
4752 base::RunLoop().Run(); | 4752 base::RunLoop().Run(); |
4753 | 4753 |
4754 EXPECT_EQ(200, r->GetResponseCode()); | 4754 EXPECT_EQ(200, r->GetResponseCode()); |
4755 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); | 4755 EXPECT_EQ(URLRequestStatus::SUCCESS, r->status().status()); |
4756 } | 4756 } |
4757 | 4757 |
4758 CapturingNetLog::CapturedEntryList entries; | 4758 TestNetLog::CapturedEntryList entries; |
4759 net_log_.GetEntries(&entries); | 4759 net_log_.GetEntries(&entries); |
4760 | 4760 |
4761 // Delegate info should only have been logged in OnReceivedRedirect and | 4761 // Delegate info should only have been logged in OnReceivedRedirect and |
4762 // OnResponseStarted. | 4762 // OnResponseStarted. |
4763 size_t log_position = 0; | 4763 size_t log_position = 0; |
4764 for (int i = 0; i < 2; ++i) { | 4764 for (int i = 0; i < 2; ++i) { |
4765 if (i == 0) { | 4765 if (i == 0) { |
4766 log_position = AsyncDelegateLogger::ExpectBeforeNetworkEvents( | 4766 log_position = AsyncDelegateLogger::ExpectBeforeNetworkEvents( |
4767 entries, log_position) + 1; | 4767 entries, log_position) + 1; |
4768 } | 4768 } |
(...skipping 26 matching lines...) Expand all Loading... |
4795 const AsyncLoggingUrlRequestDelegate::CancelStage kCancelStages[] = { | 4795 const AsyncLoggingUrlRequestDelegate::CancelStage kCancelStages[] = { |
4796 AsyncLoggingUrlRequestDelegate::CANCEL_ON_RECEIVED_REDIRECT, | 4796 AsyncLoggingUrlRequestDelegate::CANCEL_ON_RECEIVED_REDIRECT, |
4797 AsyncLoggingUrlRequestDelegate::CANCEL_ON_RESPONSE_STARTED, | 4797 AsyncLoggingUrlRequestDelegate::CANCEL_ON_RESPONSE_STARTED, |
4798 AsyncLoggingUrlRequestDelegate::CANCEL_ON_READ_COMPLETED, | 4798 AsyncLoggingUrlRequestDelegate::CANCEL_ON_READ_COMPLETED, |
4799 }; | 4799 }; |
4800 | 4800 |
4801 for (size_t test_case = 0; test_case < arraysize(kCancelStages); | 4801 for (size_t test_case = 0; test_case < arraysize(kCancelStages); |
4802 ++test_case) { | 4802 ++test_case) { |
4803 AsyncLoggingUrlRequestDelegate request_delegate(kCancelStages[test_case]); | 4803 AsyncLoggingUrlRequestDelegate request_delegate(kCancelStages[test_case]); |
4804 TestURLRequestContext context(true); | 4804 TestURLRequestContext context(true); |
4805 CapturingNetLog net_log; | 4805 TestNetLog net_log; |
4806 context.set_network_delegate(NULL); | 4806 context.set_network_delegate(NULL); |
4807 context.set_net_log(&net_log); | 4807 context.set_net_log(&net_log); |
4808 context.Init(); | 4808 context.Init(); |
4809 | 4809 |
4810 { | 4810 { |
4811 scoped_ptr<URLRequest> r(context.CreateRequest( | 4811 scoped_ptr<URLRequest> r(context.CreateRequest( |
4812 test_server_.GetURL("server-redirect?simple.html"), DEFAULT_PRIORITY, | 4812 test_server_.GetURL("server-redirect?simple.html"), DEFAULT_PRIORITY, |
4813 &request_delegate)); | 4813 &request_delegate)); |
4814 LoadStateWithParam load_state = r->GetLoadState(); | 4814 LoadStateWithParam load_state = r->GetLoadState(); |
4815 r->Start(); | 4815 r->Start(); |
4816 base::RunLoop().Run(); | 4816 base::RunLoop().Run(); |
4817 EXPECT_EQ(URLRequestStatus::CANCELED, r->status().status()); | 4817 EXPECT_EQ(URLRequestStatus::CANCELED, r->status().status()); |
4818 } | 4818 } |
4819 | 4819 |
4820 CapturingNetLog::CapturedEntryList entries; | 4820 TestNetLog::CapturedEntryList entries; |
4821 net_log.GetEntries(&entries); | 4821 net_log.GetEntries(&entries); |
4822 | 4822 |
4823 // Delegate info is always logged in both OnReceivedRedirect and | 4823 // Delegate info is always logged in both OnReceivedRedirect and |
4824 // OnResponseStarted. In the CANCEL_ON_RECEIVED_REDIRECT, the | 4824 // OnResponseStarted. In the CANCEL_ON_RECEIVED_REDIRECT, the |
4825 // OnResponseStarted delegate call is after cancellation, but logging is | 4825 // OnResponseStarted delegate call is after cancellation, but logging is |
4826 // still currently supported in that call. | 4826 // still currently supported in that call. |
4827 size_t log_position = 0; | 4827 size_t log_position = 0; |
4828 for (int i = 0; i < 2; ++i) { | 4828 for (int i = 0; i < 2; ++i) { |
4829 if (i == 0) { | 4829 if (i == 0) { |
4830 log_position = AsyncDelegateLogger::ExpectBeforeNetworkEvents( | 4830 log_position = AsyncDelegateLogger::ExpectBeforeNetworkEvents( |
(...skipping 2423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7254 CheckSSLInfo(r->ssl_info()); | 7254 CheckSSLInfo(r->ssl_info()); |
7255 } else { | 7255 } else { |
7256 EXPECT_EQ(0, d.bytes_received()); | 7256 EXPECT_EQ(0, d.bytes_received()); |
7257 } | 7257 } |
7258 } | 7258 } |
7259 } | 7259 } |
7260 } | 7260 } |
7261 | 7261 |
7262 // Tests that servers which require a deprecated cipher suite still work. | 7262 // Tests that servers which require a deprecated cipher suite still work. |
7263 TEST_F(HTTPSRequestTest, CipherFallbackTest) { | 7263 TEST_F(HTTPSRequestTest, CipherFallbackTest) { |
7264 CapturingNetLog net_log; | 7264 TestNetLog net_log; |
7265 default_context_.set_net_log(&net_log); | 7265 default_context_.set_net_log(&net_log); |
7266 | 7266 |
7267 SpawnedTestServer::SSLOptions ssl_options; | 7267 SpawnedTestServer::SSLOptions ssl_options; |
7268 ssl_options.bulk_ciphers = SpawnedTestServer::SSLOptions::BULK_CIPHER_RC4; | 7268 ssl_options.bulk_ciphers = SpawnedTestServer::SSLOptions::BULK_CIPHER_RC4; |
7269 SpawnedTestServer test_server( | 7269 SpawnedTestServer test_server( |
7270 SpawnedTestServer::TYPE_HTTPS, ssl_options, | 7270 SpawnedTestServer::TYPE_HTTPS, ssl_options, |
7271 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); | 7271 base::FilePath(FILE_PATH_LITERAL("net/data/ssl"))); |
7272 ASSERT_TRUE(test_server.Start()); | 7272 ASSERT_TRUE(test_server.Start()); |
7273 | 7273 |
7274 TestDelegate d; | 7274 TestDelegate d; |
(...skipping 15 matching lines...) Expand all Loading... |
7290 EXPECT_FALSE(r->ssl_info().connection_status & | 7290 EXPECT_FALSE(r->ssl_info().connection_status & |
7291 SSL_CONNECTION_VERSION_FALLBACK); | 7291 SSL_CONNECTION_VERSION_FALLBACK); |
7292 int expected_version = SSL_CONNECTION_VERSION_TLS1_2; | 7292 int expected_version = SSL_CONNECTION_VERSION_TLS1_2; |
7293 if (SSLClientSocket::GetMaxSupportedSSLVersion() < | 7293 if (SSLClientSocket::GetMaxSupportedSSLVersion() < |
7294 SSL_PROTOCOL_VERSION_TLS1_2) { | 7294 SSL_PROTOCOL_VERSION_TLS1_2) { |
7295 expected_version = SSL_CONNECTION_VERSION_TLS1_1; | 7295 expected_version = SSL_CONNECTION_VERSION_TLS1_1; |
7296 } | 7296 } |
7297 EXPECT_EQ(expected_version, | 7297 EXPECT_EQ(expected_version, |
7298 SSLConnectionStatusToVersion(r->ssl_info().connection_status)); | 7298 SSLConnectionStatusToVersion(r->ssl_info().connection_status)); |
7299 | 7299 |
7300 CapturingNetLog::CapturedEntryList entries; | 7300 TestNetLog::CapturedEntryList entries; |
7301 net_log.GetEntries(&entries); | 7301 net_log.GetEntries(&entries); |
7302 ExpectLogContainsSomewhere(entries, 0, NetLog::TYPE_SSL_CIPHER_FALLBACK, | 7302 ExpectLogContainsSomewhere(entries, 0, NetLog::TYPE_SSL_CIPHER_FALLBACK, |
7303 NetLog::PHASE_NONE); | 7303 NetLog::PHASE_NONE); |
7304 } | 7304 } |
7305 | 7305 |
7306 // This tests that a load of www.google.com with a certificate error sets | 7306 // This tests that a load of www.google.com with a certificate error sets |
7307 // the |certificate_errors_are_fatal| flag correctly. This flag will cause | 7307 // the |certificate_errors_are_fatal| flag correctly. This flag will cause |
7308 // the interstitial to be fatal. | 7308 // the interstitial to be fatal. |
7309 TEST_F(HTTPSRequestTest, HTTPSPreloadedHSTSTest) { | 7309 TEST_F(HTTPSRequestTest, HTTPSPreloadedHSTSTest) { |
7310 SpawnedTestServer::SSLOptions ssl_options( | 7310 SpawnedTestServer::SSLOptions ssl_options( |
(...skipping 1798 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9109 | 9109 |
9110 EXPECT_FALSE(r->is_pending()); | 9110 EXPECT_FALSE(r->is_pending()); |
9111 EXPECT_EQ(1, d->response_started_count()); | 9111 EXPECT_EQ(1, d->response_started_count()); |
9112 EXPECT_FALSE(d->received_data_before_response()); | 9112 EXPECT_FALSE(d->received_data_before_response()); |
9113 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); | 9113 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); |
9114 } | 9114 } |
9115 } | 9115 } |
9116 #endif // !defined(DISABLE_FTP_SUPPORT) | 9116 #endif // !defined(DISABLE_FTP_SUPPORT) |
9117 | 9117 |
9118 } // namespace net | 9118 } // namespace net |
OLD | NEW |