Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1919)

Unified Diff: chrome/browser/net/predictor_unittest.cc

Issue 2022963003: [predictor] Apply HSTS redirects when learning referrers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add comment Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/net/predictor.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/net/predictor_unittest.cc
diff --git a/chrome/browser/net/predictor_unittest.cc b/chrome/browser/net/predictor_unittest.cc
index c975a6486938945faf0ec2ed5d06cd1ebe717050..249c9fa9551807e098adc4122de3d1c4bfcd1c6e 100644
--- a/chrome/browser/net/predictor_unittest.cc
+++ b/chrome/browser/net/predictor_unittest.cc
@@ -551,6 +551,33 @@ TEST_F(PredictorTest, HSTSRedirectSubresources) {
predictor.Shutdown();
}
+TEST_F(PredictorTest, HSTSRedirectLearnedSubresource) {
+ const GURL kHttpUrl("http://example.com");
+ const GURL kHttpsUrl("https://example.com");
+ const GURL kSubresourceUrl("https://images.example.com");
+
+ const base::Time expiry =
+ base::Time::Now() + base::TimeDelta::FromSeconds(1000);
+ net::TransportSecurityState state;
+ state.AddHSTS(kHttpUrl.host(), expiry, false);
+
+ SimplePredictor predictor(true, true);
+ TestPredictorObserver observer;
+ predictor.SetObserver(&observer);
+ predictor.SetTransportSecurityState(&state);
+
+ // Note that the predictor would also learn the HSTS redirect from kHttpUrl to
+ // kHttpsUrl during the navigation.
+ predictor.LearnFromNavigation(kHttpUrl, kSubresourceUrl);
+
+ predictor.PreconnectUrlAndSubresources(kHttpUrl, GURL());
+ ASSERT_EQ(2u, observer.preconnected_urls_.size());
+ EXPECT_EQ(kHttpsUrl, observer.preconnected_urls_[0]);
+ EXPECT_EQ(kSubresourceUrl, observer.preconnected_urls_[1]);
+
+ predictor.Shutdown();
+}
+
TEST_F(PredictorTest, NoProxyService) {
// Don't actually try to resolve names.
Predictor::set_max_parallel_resolves(0);
« no previous file with comments | « chrome/browser/net/predictor.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698