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 |