Index: net/url_request/url_request_unittest.cc |
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc |
index aae296ff25504aeb8077ccee6aac233b2ec21526..617f2b0d44d229ac58ea423233b70b74e9c4e072 100644 |
--- a/net/url_request/url_request_unittest.cc |
+++ b/net/url_request/url_request_unittest.cc |
@@ -175,6 +175,24 @@ void TestLoadTimingCacheHitNoNetwork( |
EXPECT_TRUE(load_timing_info.proxy_resolve_end.is_null()); |
} |
+// Tests load timing information in the case of a HSTS redirect occurred. |
+void TestLoadTimingHSTSRedirectOccured( |
+ const net::LoadTimingInfo& load_timing_info) { |
+ EXPECT_FALSE(load_timing_info.socket_reused); |
+ EXPECT_EQ(net::NetLog::Source::kInvalidId, load_timing_info.socket_log_id); |
+ |
+ EXPECT_FALSE(load_timing_info.request_start_time.is_null()); |
+ EXPECT_FALSE(load_timing_info.request_start.is_null()); |
+ |
+ ExpectConnectTimingHasNoTimes(load_timing_info.connect_timing); |
+ EXPECT_TRUE(load_timing_info.proxy_resolve_start.is_null()); |
+ EXPECT_TRUE(load_timing_info.proxy_resolve_end.is_null()); |
+ EXPECT_TRUE(load_timing_info.send_start.is_null()); |
+ EXPECT_TRUE(load_timing_info.send_end.is_null()); |
+ |
+ EXPECT_FALSE(load_timing_info.receive_headers_end.is_null()); |
+} |
+ |
// Tests load timing in the case that there is no HTTP response. This can be |
// used to test in the case of errors or non-HTTP requests. |
void TestLoadTimingNoHttpResponse( |
@@ -4904,6 +4922,10 @@ TEST_F(HTTPSRequestTest, HSTSPreservesPosts) { |
EXPECT_EQ("https", req.url().scheme()); |
EXPECT_EQ("POST", req.method()); |
EXPECT_EQ(kData, d.data_received()); |
+ |
+ LoadTimingInfo load_timing_info; |
+ network_delegate.GetLoadTimingInfoBeforeRedirect(&load_timing_info); |
+ TestLoadTimingHSTSRedirectOccured(load_timing_info); |
} |
TEST_F(HTTPSRequestTest, SSLv3Fallback) { |