Index: chrome/browser/net/predictor_browsertest.cc |
diff --git a/chrome/browser/net/predictor_browsertest.cc b/chrome/browser/net/predictor_browsertest.cc |
index 345b4ecdc690c99ddb9aecf3286ba0911229b26a..d8fec138848a0c13e3bed852a8bad54bf57d2832 100644 |
--- a/chrome/browser/net/predictor_browsertest.cc |
+++ b/chrome/browser/net/predictor_browsertest.cc |
@@ -309,5 +309,29 @@ IN_PROC_BROWSER_TEST_F(PredictorBrowserTest, Preconnect) { |
net_log_observer.Detach(); |
} |
+IN_PROC_BROWSER_TEST_F(PredictorBrowserTest, PreconnectAnonymous) { |
+ ASSERT_TRUE(test_server()->Start()); |
+ |
+ // Create a HTML preconnect reference to the local server in the form |
+ // <link rel="preconnect" href="http://test-server/"> |
+ // and navigate to it as a data URI. |
+ GURL preconnect_url = test_server()->GetURL(""); |
+ std::string preconnect_content = |
+ "<link rel=\"preconnect\" crossorigin href=\"" |
+ + preconnect_url.spec() + "\">"; |
+ std::string encoded; |
+ base::Base64Encode(preconnect_content, &encoded); |
+ std::string data_uri = "data:text/html;base64," + encoded; |
+ |
+ net::HostPortPair host_port_pair = net::HostPortPair::FromURL(preconnect_url); |
+ ConnectNetLogObserver net_log_observer("pm/" + host_port_pair.ToString()); |
+ net_log_observer.Attach(); |
+ |
+ ui_test_utils::NavigateToURL(browser(), GURL(data_uri)); |
+ |
+ net_log_observer.WaitForConnect(); |
+ net_log_observer.Detach(); |
+} |
+ |
} // namespace chrome_browser_net |