| 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 <memory> | 5 #include <memory> |
| 6 #include <utility> | 6 #include <utility> |
| 7 | 7 |
| 8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
| 9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
| 10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 #include "net/disk_cache/disk_cache.h" | 71 #include "net/disk_cache/disk_cache.h" |
| 72 #include "net/dns/mock_host_resolver.h" | 72 #include "net/dns/mock_host_resolver.h" |
| 73 #include "net/http/http_byte_range.h" | 73 #include "net/http/http_byte_range.h" |
| 74 #include "net/http/http_cache.h" | 74 #include "net/http/http_cache.h" |
| 75 #include "net/http/http_network_layer.h" | 75 #include "net/http/http_network_layer.h" |
| 76 #include "net/http/http_network_session.h" | 76 #include "net/http/http_network_session.h" |
| 77 #include "net/http/http_request_headers.h" | 77 #include "net/http/http_request_headers.h" |
| 78 #include "net/http/http_response_headers.h" | 78 #include "net/http/http_response_headers.h" |
| 79 #include "net/http/http_util.h" | 79 #include "net/http/http_util.h" |
| 80 #include "net/log/net_log.h" | 80 #include "net/log/net_log.h" |
| 81 #include "net/log/net_log_event_type.h" |
| 81 #include "net/log/test_net_log.h" | 82 #include "net/log/test_net_log.h" |
| 82 #include "net/log/test_net_log_entry.h" | 83 #include "net/log/test_net_log_entry.h" |
| 83 #include "net/log/test_net_log_util.h" | 84 #include "net/log/test_net_log_util.h" |
| 84 #include "net/nqe/external_estimate_provider.h" | 85 #include "net/nqe/external_estimate_provider.h" |
| 85 #include "net/proxy/proxy_service.h" | 86 #include "net/proxy/proxy_service.h" |
| 86 #include "net/socket/ssl_client_socket.h" | 87 #include "net/socket/ssl_client_socket.h" |
| 87 #include "net/ssl/channel_id_service.h" | 88 #include "net/ssl/channel_id_service.h" |
| 88 #include "net/ssl/default_channel_id_store.h" | 89 #include "net/ssl/default_channel_id_store.h" |
| 89 #include "net/ssl/ssl_connection_status_flags.h" | 90 #include "net/ssl/ssl_connection_status_flags.h" |
| 90 #include "net/ssl/ssl_server_config.h" | 91 #include "net/ssl/ssl_server_config.h" |
| (...skipping 4682 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4773 // recorded. Returns the index of entry after the expected number of | 4774 // recorded. Returns the index of entry after the expected number of |
| 4774 // events this logged, or entries.size() if there aren't enough entries. | 4775 // events this logged, or entries.size() if there aren't enough entries. |
| 4775 static size_t CheckDelegateInfo(const TestNetLogEntry::List& entries, | 4776 static size_t CheckDelegateInfo(const TestNetLogEntry::List& entries, |
| 4776 size_t log_position) { | 4777 size_t log_position) { |
| 4777 // There should be 4 DELEGATE_INFO events: Two begins and two ends. | 4778 // There should be 4 DELEGATE_INFO events: Two begins and two ends. |
| 4778 if (log_position + 3 >= entries.size()) { | 4779 if (log_position + 3 >= entries.size()) { |
| 4779 ADD_FAILURE() << "Not enough log entries"; | 4780 ADD_FAILURE() << "Not enough log entries"; |
| 4780 return entries.size(); | 4781 return entries.size(); |
| 4781 } | 4782 } |
| 4782 std::string delegate_info; | 4783 std::string delegate_info; |
| 4783 EXPECT_EQ(NetLog::TYPE_DELEGATE_INFO, entries[log_position].type); | 4784 EXPECT_EQ(NetLogEventType::DELEGATE_INFO, entries[log_position].type); |
| 4784 EXPECT_EQ(NetLog::PHASE_BEGIN, entries[log_position].phase); | 4785 EXPECT_EQ(NetLogEventPhase::BEGIN, entries[log_position].phase); |
| 4785 EXPECT_TRUE(entries[log_position].GetStringValue("delegate_info", | 4786 EXPECT_TRUE(entries[log_position].GetStringValue("delegate_info", |
| 4786 &delegate_info)); | 4787 &delegate_info)); |
| 4787 EXPECT_EQ(kFirstDelegateInfo, delegate_info); | 4788 EXPECT_EQ(kFirstDelegateInfo, delegate_info); |
| 4788 | 4789 |
| 4789 ++log_position; | 4790 ++log_position; |
| 4790 EXPECT_EQ(NetLog::TYPE_DELEGATE_INFO, entries[log_position].type); | 4791 EXPECT_EQ(NetLogEventType::DELEGATE_INFO, entries[log_position].type); |
| 4791 EXPECT_EQ(NetLog::PHASE_END, entries[log_position].phase); | 4792 EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase); |
| 4792 | 4793 |
| 4793 ++log_position; | 4794 ++log_position; |
| 4794 EXPECT_EQ(NetLog::TYPE_DELEGATE_INFO, entries[log_position].type); | 4795 EXPECT_EQ(NetLogEventType::DELEGATE_INFO, entries[log_position].type); |
| 4795 EXPECT_EQ(NetLog::PHASE_BEGIN, entries[log_position].phase); | 4796 EXPECT_EQ(NetLogEventPhase::BEGIN, entries[log_position].phase); |
| 4796 EXPECT_TRUE(entries[log_position].GetStringValue("delegate_info", | 4797 EXPECT_TRUE(entries[log_position].GetStringValue("delegate_info", |
| 4797 &delegate_info)); | 4798 &delegate_info)); |
| 4798 EXPECT_EQ(kSecondDelegateInfo, delegate_info); | 4799 EXPECT_EQ(kSecondDelegateInfo, delegate_info); |
| 4799 | 4800 |
| 4800 ++log_position; | 4801 ++log_position; |
| 4801 EXPECT_EQ(NetLog::TYPE_DELEGATE_INFO, entries[log_position].type); | 4802 EXPECT_EQ(NetLogEventType::DELEGATE_INFO, entries[log_position].type); |
| 4802 EXPECT_EQ(NetLog::PHASE_END, entries[log_position].phase); | 4803 EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase); |
| 4803 | 4804 |
| 4804 return log_position + 1; | 4805 return log_position + 1; |
| 4805 } | 4806 } |
| 4806 | 4807 |
| 4807 private: | 4808 private: |
| 4808 friend class base::RefCounted<AsyncDelegateLogger>; | 4809 friend class base::RefCounted<AsyncDelegateLogger>; |
| 4809 | 4810 |
| 4810 AsyncDelegateLogger(URLRequest* url_request, | 4811 AsyncDelegateLogger(URLRequest* url_request, |
| 4811 LoadState expected_first_load_state, | 4812 LoadState expected_first_load_state, |
| 4812 LoadState expected_second_load_state, | 4813 LoadState expected_second_load_state, |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5052 | 5053 |
| 5053 EXPECT_EQ(200, r->GetResponseCode()); | 5054 EXPECT_EQ(200, r->GetResponseCode()); |
| 5054 EXPECT_EQ(OK, request_delegate.request_status()); | 5055 EXPECT_EQ(OK, request_delegate.request_status()); |
| 5055 } | 5056 } |
| 5056 | 5057 |
| 5057 TestNetLogEntry::List entries; | 5058 TestNetLogEntry::List entries; |
| 5058 net_log_.GetEntries(&entries); | 5059 net_log_.GetEntries(&entries); |
| 5059 size_t log_position = ExpectLogContainsSomewhereAfter( | 5060 size_t log_position = ExpectLogContainsSomewhereAfter( |
| 5060 entries, | 5061 entries, |
| 5061 0, | 5062 0, |
| 5062 NetLog::TYPE_DELEGATE_INFO, | 5063 NetLogEventType::DELEGATE_INFO, |
| 5063 NetLog::PHASE_BEGIN); | 5064 NetLogEventPhase::BEGIN); |
| 5064 | 5065 |
| 5065 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, log_position); | 5066 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, log_position); |
| 5066 | 5067 |
| 5067 // Nothing else should add any delegate info to the request. | 5068 // Nothing else should add any delegate info to the request. |
| 5068 EXPECT_FALSE(LogContainsEntryWithTypeAfter( | 5069 EXPECT_FALSE(LogContainsEntryWithTypeAfter( |
| 5069 entries, log_position + 1, NetLog::TYPE_DELEGATE_INFO)); | 5070 entries, log_position + 1, NetLogEventType::DELEGATE_INFO)); |
| 5070 } | 5071 } |
| 5071 | 5072 |
| 5072 // Tests handling of delegate info from a network delegate. | 5073 // Tests handling of delegate info from a network delegate. |
| 5073 TEST_F(URLRequestTestHTTP, NetworkDelegateInfo) { | 5074 TEST_F(URLRequestTestHTTP, NetworkDelegateInfo) { |
| 5074 ASSERT_TRUE(http_test_server()->Start()); | 5075 ASSERT_TRUE(http_test_server()->Start()); |
| 5075 | 5076 |
| 5076 TestDelegate request_delegate; | 5077 TestDelegate request_delegate; |
| 5077 AsyncLoggingNetworkDelegate network_delegate; | 5078 AsyncLoggingNetworkDelegate network_delegate; |
| 5078 TestURLRequestContext context(true); | 5079 TestURLRequestContext context(true); |
| 5079 context.set_network_delegate(&network_delegate); | 5080 context.set_network_delegate(&network_delegate); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 5098 } | 5099 } |
| 5099 EXPECT_EQ(1, network_delegate.destroyed_requests()); | 5100 EXPECT_EQ(1, network_delegate.destroyed_requests()); |
| 5100 | 5101 |
| 5101 size_t log_position = 0; | 5102 size_t log_position = 0; |
| 5102 TestNetLogEntry::List entries; | 5103 TestNetLogEntry::List entries; |
| 5103 net_log_.GetEntries(&entries); | 5104 net_log_.GetEntries(&entries); |
| 5104 for (size_t i = 0; i < 3; ++i) { | 5105 for (size_t i = 0; i < 3; ++i) { |
| 5105 log_position = ExpectLogContainsSomewhereAfter( | 5106 log_position = ExpectLogContainsSomewhereAfter( |
| 5106 entries, | 5107 entries, |
| 5107 log_position + 1, | 5108 log_position + 1, |
| 5108 NetLog::TYPE_URL_REQUEST_DELEGATE, | 5109 NetLogEventType::URL_REQUEST_DELEGATE, |
| 5109 NetLog::PHASE_BEGIN); | 5110 NetLogEventPhase::BEGIN); |
| 5110 | 5111 |
| 5111 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, | 5112 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, |
| 5112 log_position + 1); | 5113 log_position + 1); |
| 5113 | 5114 |
| 5114 ASSERT_LT(log_position, entries.size()); | 5115 ASSERT_LT(log_position, entries.size()); |
| 5115 EXPECT_EQ(NetLog::TYPE_URL_REQUEST_DELEGATE, entries[log_position].type); | 5116 EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE, |
| 5116 EXPECT_EQ(NetLog::PHASE_END, entries[log_position].phase); | 5117 entries[log_position].type); |
| 5118 EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase); |
| 5117 } | 5119 } |
| 5118 | 5120 |
| 5119 EXPECT_FALSE(LogContainsEntryWithTypeAfter( | 5121 EXPECT_FALSE(LogContainsEntryWithTypeAfter( |
| 5120 entries, log_position + 1, NetLog::TYPE_DELEGATE_INFO)); | 5122 entries, log_position + 1, NetLogEventType::DELEGATE_INFO)); |
| 5121 } | 5123 } |
| 5122 | 5124 |
| 5123 // Tests handling of delegate info from a network delegate in the case of an | 5125 // Tests handling of delegate info from a network delegate in the case of an |
| 5124 // HTTP redirect. | 5126 // HTTP redirect. |
| 5125 TEST_F(URLRequestTestHTTP, NetworkDelegateInfoRedirect) { | 5127 TEST_F(URLRequestTestHTTP, NetworkDelegateInfoRedirect) { |
| 5126 ASSERT_TRUE(http_test_server()->Start()); | 5128 ASSERT_TRUE(http_test_server()->Start()); |
| 5127 | 5129 |
| 5128 TestDelegate request_delegate; | 5130 TestDelegate request_delegate; |
| 5129 AsyncLoggingNetworkDelegate network_delegate; | 5131 AsyncLoggingNetworkDelegate network_delegate; |
| 5130 TestURLRequestContext context(true); | 5132 TestURLRequestContext context(true); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 5152 | 5154 |
| 5153 size_t log_position = 0; | 5155 size_t log_position = 0; |
| 5154 TestNetLogEntry::List entries; | 5156 TestNetLogEntry::List entries; |
| 5155 net_log_.GetEntries(&entries); | 5157 net_log_.GetEntries(&entries); |
| 5156 // The NetworkDelegate logged information in OnBeforeURLRequest, | 5158 // The NetworkDelegate logged information in OnBeforeURLRequest, |
| 5157 // OnBeforeStartTransaction, and OnHeadersReceived. | 5159 // OnBeforeStartTransaction, and OnHeadersReceived. |
| 5158 for (size_t i = 0; i < 3; ++i) { | 5160 for (size_t i = 0; i < 3; ++i) { |
| 5159 log_position = ExpectLogContainsSomewhereAfter( | 5161 log_position = ExpectLogContainsSomewhereAfter( |
| 5160 entries, | 5162 entries, |
| 5161 log_position + 1, | 5163 log_position + 1, |
| 5162 NetLog::TYPE_URL_REQUEST_DELEGATE, | 5164 NetLogEventType::URL_REQUEST_DELEGATE, |
| 5163 NetLog::PHASE_BEGIN); | 5165 NetLogEventPhase::BEGIN); |
| 5164 | 5166 |
| 5165 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, | 5167 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, |
| 5166 log_position + 1); | 5168 log_position + 1); |
| 5167 | 5169 |
| 5168 ASSERT_LT(log_position, entries.size()); | 5170 ASSERT_LT(log_position, entries.size()); |
| 5169 EXPECT_EQ(NetLog::TYPE_URL_REQUEST_DELEGATE, entries[log_position].type); | 5171 EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE, |
| 5170 EXPECT_EQ(NetLog::PHASE_END, entries[log_position].phase); | 5172 entries[log_position].type); |
| 5173 EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase); |
| 5171 } | 5174 } |
| 5172 | 5175 |
| 5173 // The URLRequest::Delegate then gets informed about the redirect. | 5176 // The URLRequest::Delegate then gets informed about the redirect. |
| 5174 log_position = ExpectLogContainsSomewhereAfter( | 5177 log_position = ExpectLogContainsSomewhereAfter( |
| 5175 entries, | 5178 entries, |
| 5176 log_position + 1, | 5179 log_position + 1, |
| 5177 NetLog::TYPE_URL_REQUEST_DELEGATE, | 5180 NetLogEventType::URL_REQUEST_DELEGATE, |
| 5178 NetLog::PHASE_BEGIN); | 5181 NetLogEventPhase::BEGIN); |
| 5179 | 5182 |
| 5180 // The NetworkDelegate logged information in the same three events as before. | 5183 // The NetworkDelegate logged information in the same three events as before. |
| 5181 for (size_t i = 0; i < 3; ++i) { | 5184 for (size_t i = 0; i < 3; ++i) { |
| 5182 log_position = ExpectLogContainsSomewhereAfter( | 5185 log_position = ExpectLogContainsSomewhereAfter( |
| 5183 entries, | 5186 entries, |
| 5184 log_position + 1, | 5187 log_position + 1, |
| 5185 NetLog::TYPE_URL_REQUEST_DELEGATE, | 5188 NetLogEventType::URL_REQUEST_DELEGATE, |
| 5186 NetLog::PHASE_BEGIN); | 5189 NetLogEventPhase::BEGIN); |
| 5187 | 5190 |
| 5188 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, | 5191 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, |
| 5189 log_position + 1); | 5192 log_position + 1); |
| 5190 | 5193 |
| 5191 ASSERT_LT(log_position, entries.size()); | 5194 ASSERT_LT(log_position, entries.size()); |
| 5192 EXPECT_EQ(NetLog::TYPE_URL_REQUEST_DELEGATE, entries[log_position].type); | 5195 EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE, |
| 5193 EXPECT_EQ(NetLog::PHASE_END, entries[log_position].phase); | 5196 entries[log_position].type); |
| 5197 EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase); |
| 5194 } | 5198 } |
| 5195 | 5199 |
| 5196 EXPECT_FALSE(LogContainsEntryWithTypeAfter( | 5200 EXPECT_FALSE(LogContainsEntryWithTypeAfter( |
| 5197 entries, log_position + 1, NetLog::TYPE_DELEGATE_INFO)); | 5201 entries, log_position + 1, NetLogEventType::DELEGATE_INFO)); |
| 5198 } | 5202 } |
| 5199 | 5203 |
| 5200 // Tests handling of delegate info from a network delegate in the case of HTTP | 5204 // Tests handling of delegate info from a network delegate in the case of HTTP |
| 5201 // AUTH. | 5205 // AUTH. |
| 5202 TEST_F(URLRequestTestHTTP, NetworkDelegateInfoAuth) { | 5206 TEST_F(URLRequestTestHTTP, NetworkDelegateInfoAuth) { |
| 5203 ASSERT_TRUE(http_test_server()->Start()); | 5207 ASSERT_TRUE(http_test_server()->Start()); |
| 5204 | 5208 |
| 5205 TestDelegate request_delegate; | 5209 TestDelegate request_delegate; |
| 5206 AsyncLoggingNetworkDelegate network_delegate; | 5210 AsyncLoggingNetworkDelegate network_delegate; |
| 5207 TestURLRequestContext context(true); | 5211 TestURLRequestContext context(true); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 5231 TestNetLogEntry::List entries; | 5235 TestNetLogEntry::List entries; |
| 5232 net_log_.GetEntries(&entries); | 5236 net_log_.GetEntries(&entries); |
| 5233 // The NetworkDelegate should have logged information in OnBeforeURLRequest, | 5237 // The NetworkDelegate should have logged information in OnBeforeURLRequest, |
| 5234 // OnBeforeStartTransaction, OnHeadersReceived, OnAuthRequired, and then again | 5238 // OnBeforeStartTransaction, OnHeadersReceived, OnAuthRequired, and then again |
| 5235 // in | 5239 // in |
| 5236 // OnBeforeURLRequest and OnBeforeStartTransaction. | 5240 // OnBeforeURLRequest and OnBeforeStartTransaction. |
| 5237 for (size_t i = 0; i < 6; ++i) { | 5241 for (size_t i = 0; i < 6; ++i) { |
| 5238 log_position = ExpectLogContainsSomewhereAfter( | 5242 log_position = ExpectLogContainsSomewhereAfter( |
| 5239 entries, | 5243 entries, |
| 5240 log_position + 1, | 5244 log_position + 1, |
| 5241 NetLog::TYPE_URL_REQUEST_DELEGATE, | 5245 NetLogEventType::URL_REQUEST_DELEGATE, |
| 5242 NetLog::PHASE_BEGIN); | 5246 NetLogEventPhase::BEGIN); |
| 5243 | 5247 |
| 5244 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, | 5248 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, |
| 5245 log_position + 1); | 5249 log_position + 1); |
| 5246 | 5250 |
| 5247 ASSERT_LT(log_position, entries.size()); | 5251 ASSERT_LT(log_position, entries.size()); |
| 5248 EXPECT_EQ(NetLog::TYPE_URL_REQUEST_DELEGATE, entries[log_position].type); | 5252 EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE, |
| 5249 EXPECT_EQ(NetLog::PHASE_END, entries[log_position].phase); | 5253 entries[log_position].type); |
| 5254 EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase); |
| 5250 } | 5255 } |
| 5251 | 5256 |
| 5252 EXPECT_FALSE(LogContainsEntryWithTypeAfter( | 5257 EXPECT_FALSE(LogContainsEntryWithTypeAfter( |
| 5253 entries, log_position + 1, NetLog::TYPE_DELEGATE_INFO)); | 5258 entries, log_position + 1, NetLogEventType::DELEGATE_INFO)); |
| 5254 } | 5259 } |
| 5255 | 5260 |
| 5256 // TODO(svaldez): Update tests to use EmbeddedTestServer. | 5261 // TODO(svaldez): Update tests to use EmbeddedTestServer. |
| 5257 #if !defined(OS_IOS) | 5262 #if !defined(OS_IOS) |
| 5258 // Tests handling of delegate info from a URLRequest::Delegate. | 5263 // Tests handling of delegate info from a URLRequest::Delegate. |
| 5259 TEST_F(URLRequestTestHTTP, URLRequestDelegateInfo) { | 5264 TEST_F(URLRequestTestHTTP, URLRequestDelegateInfo) { |
| 5260 SpawnedTestServer test_server(SpawnedTestServer::TYPE_HTTP, | 5265 SpawnedTestServer test_server(SpawnedTestServer::TYPE_HTTP, |
| 5261 SpawnedTestServer::kLocalhost, | 5266 SpawnedTestServer::kLocalhost, |
| 5262 base::FilePath(kTestFilePath)); | 5267 base::FilePath(kTestFilePath)); |
| 5263 | 5268 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 5290 TestNetLogEntry::List entries; | 5295 TestNetLogEntry::List entries; |
| 5291 net_log_.GetEntries(&entries); | 5296 net_log_.GetEntries(&entries); |
| 5292 | 5297 |
| 5293 size_t log_position = 0; | 5298 size_t log_position = 0; |
| 5294 | 5299 |
| 5295 // The delegate info should only have been logged on header complete. Other | 5300 // The delegate info should only have been logged on header complete. Other |
| 5296 // times it should silently be ignored. | 5301 // times it should silently be ignored. |
| 5297 log_position = | 5302 log_position = |
| 5298 ExpectLogContainsSomewhereAfter(entries, | 5303 ExpectLogContainsSomewhereAfter(entries, |
| 5299 log_position + 1, | 5304 log_position + 1, |
| 5300 NetLog::TYPE_URL_REQUEST_DELEGATE, | 5305 NetLogEventType::URL_REQUEST_DELEGATE, |
| 5301 NetLog::PHASE_BEGIN); | 5306 NetLogEventPhase::BEGIN); |
| 5302 | 5307 |
| 5303 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, | 5308 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, |
| 5304 log_position + 1); | 5309 log_position + 1); |
| 5305 | 5310 |
| 5306 ASSERT_LT(log_position, entries.size()); | 5311 ASSERT_LT(log_position, entries.size()); |
| 5307 EXPECT_EQ(NetLog::TYPE_URL_REQUEST_DELEGATE, entries[log_position].type); | 5312 EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE, entries[log_position].type); |
| 5308 EXPECT_EQ(NetLog::PHASE_END, entries[log_position].phase); | 5313 EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase); |
| 5309 | 5314 |
| 5310 EXPECT_FALSE(LogContainsEntryWithTypeAfter( | 5315 EXPECT_FALSE(LogContainsEntryWithTypeAfter( |
| 5311 entries, log_position + 1, NetLog::TYPE_DELEGATE_INFO)); | 5316 entries, log_position + 1, NetLogEventType::DELEGATE_INFO)); |
| 5312 EXPECT_FALSE(LogContainsEntryWithTypeAfter( | 5317 EXPECT_FALSE(LogContainsEntryWithTypeAfter( |
| 5313 entries, log_position + 1, NetLog::TYPE_URL_REQUEST_DELEGATE)); | 5318 entries, log_position + 1, NetLogEventType::URL_REQUEST_DELEGATE)); |
| 5314 } | 5319 } |
| 5315 #endif // !defined(OS_IOS) | 5320 #endif // !defined(OS_IOS) |
| 5316 | 5321 |
| 5317 // Tests handling of delegate info from a URLRequest::Delegate in the case of | 5322 // Tests handling of delegate info from a URLRequest::Delegate in the case of |
| 5318 // an HTTP redirect. | 5323 // an HTTP redirect. |
| 5319 TEST_F(URLRequestTestHTTP, URLRequestDelegateInfoOnRedirect) { | 5324 TEST_F(URLRequestTestHTTP, URLRequestDelegateInfoOnRedirect) { |
| 5320 ASSERT_TRUE(http_test_server()->Start()); | 5325 ASSERT_TRUE(http_test_server()->Start()); |
| 5321 | 5326 |
| 5322 AsyncLoggingUrlRequestDelegate request_delegate( | 5327 AsyncLoggingUrlRequestDelegate request_delegate( |
| 5323 AsyncLoggingUrlRequestDelegate::NO_CANCEL); | 5328 AsyncLoggingUrlRequestDelegate::NO_CANCEL); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 5341 TestNetLogEntry::List entries; | 5346 TestNetLogEntry::List entries; |
| 5342 net_log_.GetEntries(&entries); | 5347 net_log_.GetEntries(&entries); |
| 5343 | 5348 |
| 5344 // Delegate info should only have been logged in OnReceivedRedirect and | 5349 // Delegate info should only have been logged in OnReceivedRedirect and |
| 5345 // OnResponseStarted. | 5350 // OnResponseStarted. |
| 5346 size_t log_position = 0; | 5351 size_t log_position = 0; |
| 5347 for (int i = 0; i < 2; ++i) { | 5352 for (int i = 0; i < 2; ++i) { |
| 5348 log_position = ExpectLogContainsSomewhereAfter( | 5353 log_position = ExpectLogContainsSomewhereAfter( |
| 5349 entries, | 5354 entries, |
| 5350 log_position, | 5355 log_position, |
| 5351 NetLog::TYPE_URL_REQUEST_DELEGATE, | 5356 NetLogEventType::URL_REQUEST_DELEGATE, |
| 5352 NetLog::PHASE_BEGIN); | 5357 NetLogEventPhase::BEGIN); |
| 5353 | 5358 |
| 5354 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, | 5359 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, |
| 5355 log_position + 1); | 5360 log_position + 1); |
| 5356 | 5361 |
| 5357 ASSERT_LT(log_position, entries.size()); | 5362 ASSERT_LT(log_position, entries.size()); |
| 5358 EXPECT_EQ(NetLog::TYPE_URL_REQUEST_DELEGATE, entries[log_position].type); | 5363 EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE, |
| 5359 EXPECT_EQ(NetLog::PHASE_END, entries[log_position].phase); | 5364 entries[log_position].type); |
| 5365 EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase); |
| 5360 } | 5366 } |
| 5361 | 5367 |
| 5362 EXPECT_FALSE(LogContainsEntryWithTypeAfter( | 5368 EXPECT_FALSE(LogContainsEntryWithTypeAfter( |
| 5363 entries, log_position + 1, NetLog::TYPE_DELEGATE_INFO)); | 5369 entries, log_position + 1, NetLogEventType::DELEGATE_INFO)); |
| 5364 EXPECT_FALSE(LogContainsEntryWithTypeAfter( | 5370 EXPECT_FALSE(LogContainsEntryWithTypeAfter( |
| 5365 entries, log_position + 1, NetLog::TYPE_URL_REQUEST_DELEGATE)); | 5371 entries, log_position + 1, NetLogEventType::URL_REQUEST_DELEGATE)); |
| 5366 } | 5372 } |
| 5367 | 5373 |
| 5368 // Tests handling of delegate info from a URLRequest::Delegate in the case of | 5374 // Tests handling of delegate info from a URLRequest::Delegate in the case of |
| 5369 // an HTTP redirect, with cancellation at various points. | 5375 // an HTTP redirect, with cancellation at various points. |
| 5370 TEST_F(URLRequestTestHTTP, URLRequestDelegateOnRedirectCancelled) { | 5376 TEST_F(URLRequestTestHTTP, URLRequestDelegateOnRedirectCancelled) { |
| 5371 ASSERT_TRUE(http_test_server()->Start()); | 5377 ASSERT_TRUE(http_test_server()->Start()); |
| 5372 | 5378 |
| 5373 const AsyncLoggingUrlRequestDelegate::CancelStage kCancelStages[] = { | 5379 const AsyncLoggingUrlRequestDelegate::CancelStage kCancelStages[] = { |
| 5374 AsyncLoggingUrlRequestDelegate::CANCEL_ON_RECEIVED_REDIRECT, | 5380 AsyncLoggingUrlRequestDelegate::CANCEL_ON_RECEIVED_REDIRECT, |
| 5375 AsyncLoggingUrlRequestDelegate::CANCEL_ON_RESPONSE_STARTED, | 5381 AsyncLoggingUrlRequestDelegate::CANCEL_ON_RESPONSE_STARTED, |
| (...skipping 24 matching lines...) Expand all Loading... |
| 5400 | 5406 |
| 5401 // Delegate info is always logged in both OnReceivedRedirect and | 5407 // Delegate info is always logged in both OnReceivedRedirect and |
| 5402 // OnResponseStarted. In the CANCEL_ON_RECEIVED_REDIRECT, the | 5408 // OnResponseStarted. In the CANCEL_ON_RECEIVED_REDIRECT, the |
| 5403 // OnResponseStarted delegate call is after cancellation, but logging is | 5409 // OnResponseStarted delegate call is after cancellation, but logging is |
| 5404 // still currently supported in that call. | 5410 // still currently supported in that call. |
| 5405 size_t log_position = 0; | 5411 size_t log_position = 0; |
| 5406 for (int i = 0; i < 2; ++i) { | 5412 for (int i = 0; i < 2; ++i) { |
| 5407 log_position = ExpectLogContainsSomewhereAfter( | 5413 log_position = ExpectLogContainsSomewhereAfter( |
| 5408 entries, | 5414 entries, |
| 5409 log_position, | 5415 log_position, |
| 5410 NetLog::TYPE_URL_REQUEST_DELEGATE, | 5416 NetLogEventType::URL_REQUEST_DELEGATE, |
| 5411 NetLog::PHASE_BEGIN); | 5417 NetLogEventPhase::BEGIN); |
| 5412 | 5418 |
| 5413 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, | 5419 log_position = AsyncDelegateLogger::CheckDelegateInfo(entries, |
| 5414 log_position + 1); | 5420 log_position + 1); |
| 5415 | 5421 |
| 5416 ASSERT_LT(log_position, entries.size()); | 5422 ASSERT_LT(log_position, entries.size()); |
| 5417 EXPECT_EQ(NetLog::TYPE_URL_REQUEST_DELEGATE, entries[log_position].type); | 5423 EXPECT_EQ(NetLogEventType::URL_REQUEST_DELEGATE, |
| 5418 EXPECT_EQ(NetLog::PHASE_END, entries[log_position].phase); | 5424 entries[log_position].type); |
| 5425 EXPECT_EQ(NetLogEventPhase::END, entries[log_position].phase); |
| 5419 } | 5426 } |
| 5420 | 5427 |
| 5421 EXPECT_FALSE(LogContainsEntryWithTypeAfter( | 5428 EXPECT_FALSE(LogContainsEntryWithTypeAfter( |
| 5422 entries, log_position + 1, NetLog::TYPE_DELEGATE_INFO)); | 5429 entries, log_position + 1, NetLogEventType::DELEGATE_INFO)); |
| 5423 EXPECT_FALSE(LogContainsEntryWithTypeAfter( | 5430 EXPECT_FALSE(LogContainsEntryWithTypeAfter( |
| 5424 entries, log_position + 1, NetLog::TYPE_URL_REQUEST_DELEGATE)); | 5431 entries, log_position + 1, NetLogEventType::URL_REQUEST_DELEGATE)); |
| 5425 } | 5432 } |
| 5426 } | 5433 } |
| 5427 | 5434 |
| 5428 namespace { | 5435 namespace { |
| 5429 | 5436 |
| 5430 const char kExtraHeader[] = "Allow-Snafu"; | 5437 const char kExtraHeader[] = "Allow-Snafu"; |
| 5431 const char kExtraValue[] = "fubar"; | 5438 const char kExtraValue[] = "fubar"; |
| 5432 | 5439 |
| 5433 class RedirectWithAdditionalHeadersDelegate : public TestDelegate { | 5440 class RedirectWithAdditionalHeadersDelegate : public TestDelegate { |
| 5434 void OnReceivedRedirect(URLRequest* request, | 5441 void OnReceivedRedirect(URLRequest* request, |
| (...skipping 4766 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10201 AddTestInterceptor()->set_main_intercept_job(std::move(job)); | 10208 AddTestInterceptor()->set_main_intercept_job(std::move(job)); |
| 10202 | 10209 |
| 10203 req->Start(); | 10210 req->Start(); |
| 10204 req->Cancel(); | 10211 req->Cancel(); |
| 10205 base::RunLoop().RunUntilIdle(); | 10212 base::RunLoop().RunUntilIdle(); |
| 10206 EXPECT_EQ(ERR_ABORTED, d.request_status()); | 10213 EXPECT_EQ(ERR_ABORTED, d.request_status()); |
| 10207 EXPECT_EQ(0, d.received_redirect_count()); | 10214 EXPECT_EQ(0, d.received_redirect_count()); |
| 10208 } | 10215 } |
| 10209 | 10216 |
| 10210 } // namespace net | 10217 } // namespace net |
| OLD | NEW |