| 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 "net/http/http_cache.h" | 5 #include "net/http/http_cache.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 #include "net/http/http_cache_transaction.h" | 37 #include "net/http/http_cache_transaction.h" |
| 38 #include "net/http/http_request_headers.h" | 38 #include "net/http/http_request_headers.h" |
| 39 #include "net/http/http_request_info.h" | 39 #include "net/http/http_request_info.h" |
| 40 #include "net/http/http_response_headers.h" | 40 #include "net/http/http_response_headers.h" |
| 41 #include "net/http/http_response_info.h" | 41 #include "net/http/http_response_info.h" |
| 42 #include "net/http/http_transaction.h" | 42 #include "net/http/http_transaction.h" |
| 43 #include "net/http/http_transaction_test_util.h" | 43 #include "net/http/http_transaction_test_util.h" |
| 44 #include "net/http/http_util.h" | 44 #include "net/http/http_util.h" |
| 45 #include "net/http/mock_http_cache.h" | 45 #include "net/http/mock_http_cache.h" |
| 46 #include "net/log/net_log_event_type.h" | 46 #include "net/log/net_log_event_type.h" |
| 47 #include "net/log/net_log_source.h" |
| 48 #include "net/log/net_log_with_source.h" |
| 47 #include "net/log/test_net_log.h" | 49 #include "net/log/test_net_log.h" |
| 48 #include "net/log/test_net_log_entry.h" | 50 #include "net/log/test_net_log_entry.h" |
| 49 #include "net/log/test_net_log_util.h" | 51 #include "net/log/test_net_log_util.h" |
| 50 #include "net/socket/client_socket_handle.h" | 52 #include "net/socket/client_socket_handle.h" |
| 51 #include "net/ssl/ssl_cert_request_info.h" | 53 #include "net/ssl/ssl_cert_request_info.h" |
| 52 #include "net/ssl/ssl_connection_status_flags.h" | 54 #include "net/ssl/ssl_connection_status_flags.h" |
| 53 #include "net/test/cert_test_util.h" | 55 #include "net/test/cert_test_util.h" |
| 54 #include "net/test/gtest_util.h" | 56 #include "net/test/gtest_util.h" |
| 55 #include "net/test/test_data_directory.h" | 57 #include "net/test/test_data_directory.h" |
| 56 #include "net/websockets/websocket_handshake_stream_base.h" | 58 #include "net/websockets/websocket_handshake_stream_base.h" |
| 57 #include "testing/gmock/include/gmock/gmock.h" | 59 #include "testing/gmock/include/gmock/gmock.h" |
| 58 #include "testing/gtest/include/gtest/gtest.h" | 60 #include "testing/gtest/include/gtest/gtest.h" |
| 59 | 61 |
| 60 using net::test::IsError; | 62 using net::test::IsError; |
| 61 using net::test::IsOk; | 63 using net::test::IsOk; |
| 62 | 64 |
| 63 using base::Time; | 65 using base::Time; |
| 64 | 66 |
| 65 namespace net { | 67 namespace net { |
| 66 | 68 |
| 67 using CacheEntryStatus = HttpResponseInfo::CacheEntryStatus; | 69 using CacheEntryStatus = HttpResponseInfo::CacheEntryStatus; |
| 68 | 70 |
| 69 namespace { | 71 namespace { |
| 70 | 72 |
| 71 // Tests the load timing values of a request that goes through a | 73 // Tests the load timing values of a request that goes through a |
| 72 // MockNetworkTransaction. | 74 // MockNetworkTransaction. |
| 73 void TestLoadTimingNetworkRequest(const LoadTimingInfo& load_timing_info) { | 75 void TestLoadTimingNetworkRequest(const LoadTimingInfo& load_timing_info) { |
| 74 EXPECT_FALSE(load_timing_info.socket_reused); | 76 EXPECT_FALSE(load_timing_info.socket_reused); |
| 75 EXPECT_NE(NetLog::Source::kInvalidId, load_timing_info.socket_log_id); | 77 EXPECT_NE(NetLogSource::kInvalidId, load_timing_info.socket_log_id); |
| 76 | 78 |
| 77 EXPECT_TRUE(load_timing_info.proxy_resolve_start.is_null()); | 79 EXPECT_TRUE(load_timing_info.proxy_resolve_start.is_null()); |
| 78 EXPECT_TRUE(load_timing_info.proxy_resolve_end.is_null()); | 80 EXPECT_TRUE(load_timing_info.proxy_resolve_end.is_null()); |
| 79 | 81 |
| 80 ExpectConnectTimingHasTimes(load_timing_info.connect_timing, | 82 ExpectConnectTimingHasTimes(load_timing_info.connect_timing, |
| 81 CONNECT_TIMING_HAS_CONNECT_TIMES_ONLY); | 83 CONNECT_TIMING_HAS_CONNECT_TIMES_ONLY); |
| 82 EXPECT_LE(load_timing_info.connect_timing.connect_end, | 84 EXPECT_LE(load_timing_info.connect_timing.connect_end, |
| 83 load_timing_info.send_start); | 85 load_timing_info.send_start); |
| 84 | 86 |
| 85 EXPECT_LE(load_timing_info.send_start, load_timing_info.send_end); | 87 EXPECT_LE(load_timing_info.send_start, load_timing_info.send_end); |
| 86 | 88 |
| 87 // Set by URLRequest / URLRequestHttpJob, at a higher level. | 89 // Set by URLRequest / URLRequestHttpJob, at a higher level. |
| 88 EXPECT_TRUE(load_timing_info.request_start_time.is_null()); | 90 EXPECT_TRUE(load_timing_info.request_start_time.is_null()); |
| 89 EXPECT_TRUE(load_timing_info.request_start.is_null()); | 91 EXPECT_TRUE(load_timing_info.request_start.is_null()); |
| 90 EXPECT_TRUE(load_timing_info.receive_headers_end.is_null()); | 92 EXPECT_TRUE(load_timing_info.receive_headers_end.is_null()); |
| 91 } | 93 } |
| 92 | 94 |
| 93 // Tests the load timing values of a request that receives a cached response. | 95 // Tests the load timing values of a request that receives a cached response. |
| 94 void TestLoadTimingCachedResponse(const LoadTimingInfo& load_timing_info) { | 96 void TestLoadTimingCachedResponse(const LoadTimingInfo& load_timing_info) { |
| 95 EXPECT_FALSE(load_timing_info.socket_reused); | 97 EXPECT_FALSE(load_timing_info.socket_reused); |
| 96 EXPECT_EQ(NetLog::Source::kInvalidId, load_timing_info.socket_log_id); | 98 EXPECT_EQ(NetLogSource::kInvalidId, load_timing_info.socket_log_id); |
| 97 | 99 |
| 98 EXPECT_TRUE(load_timing_info.proxy_resolve_start.is_null()); | 100 EXPECT_TRUE(load_timing_info.proxy_resolve_start.is_null()); |
| 99 EXPECT_TRUE(load_timing_info.proxy_resolve_end.is_null()); | 101 EXPECT_TRUE(load_timing_info.proxy_resolve_end.is_null()); |
| 100 | 102 |
| 101 ExpectConnectTimingHasNoTimes(load_timing_info.connect_timing); | 103 ExpectConnectTimingHasNoTimes(load_timing_info.connect_timing); |
| 102 | 104 |
| 103 // Only the send start / end times should be sent, and they should have the | 105 // Only the send start / end times should be sent, and they should have the |
| 104 // same value. | 106 // same value. |
| 105 EXPECT_FALSE(load_timing_info.send_start.is_null()); | 107 EXPECT_FALSE(load_timing_info.send_start.is_null()); |
| 106 EXPECT_EQ(load_timing_info.send_start, load_timing_info.send_end); | 108 EXPECT_EQ(load_timing_info.send_start, load_timing_info.send_end); |
| (...skipping 7993 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8100 RunTransactionTestWithResponseInfo(cache.http_cache(), | 8102 RunTransactionTestWithResponseInfo(cache.http_cache(), |
| 8101 kTypicalGET_Transaction, &response_info); | 8103 kTypicalGET_Transaction, &response_info); |
| 8102 | 8104 |
| 8103 EXPECT_FALSE(response_info.was_cached); | 8105 EXPECT_FALSE(response_info.was_cached); |
| 8104 EXPECT_TRUE(response_info.network_accessed); | 8106 EXPECT_TRUE(response_info.network_accessed); |
| 8105 EXPECT_EQ(CacheEntryStatus::ENTRY_CANT_CONDITIONALIZE, | 8107 EXPECT_EQ(CacheEntryStatus::ENTRY_CANT_CONDITIONALIZE, |
| 8106 response_info.cache_entry_status); | 8108 response_info.cache_entry_status); |
| 8107 } | 8109 } |
| 8108 | 8110 |
| 8109 } // namespace net | 8111 } // namespace net |
| OLD | NEW |