| Index: chrome/browser/prerender/prerender_browsertest.cc
|
| diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc
|
| index 7972ae82428775442d2d33afbb0337c93fcb4841..740aad91c04213f1cd356d55027038972bea84cf 100644
|
| --- a/chrome/browser/prerender/prerender_browsertest.cc
|
| +++ b/chrome/browser/prerender/prerender_browsertest.cc
|
| @@ -114,14 +114,20 @@ class PrerenderBrowserTest : public InProcessBrowserTest {
|
| FinalStatus expected_final_status,
|
| int total_navigations) {
|
| ASSERT_TRUE(test_server()->Start());
|
| - std::string src_path = "files/prerender/prerender_loader.html?";
|
| - src_path.append(html_file);
|
| std::string dest_path = "files/prerender/";
|
| dest_path.append(html_file);
|
| -
|
| - GURL src_url = test_server()->GetURL(src_path);
|
| dest_url_ = test_server()->GetURL(dest_path);
|
|
|
| + std::vector<net::TestServer::StringPair> replacement_text;
|
| + replacement_text.push_back(
|
| + make_pair("REPLACE_WITH_PREFETCH_URL", dest_url_.spec()));
|
| + std::string replacement_path;
|
| + ASSERT_TRUE(net::TestServer::GetFilePathWithReplacements(
|
| + "files/prerender/prerender_loader.html",
|
| + replacement_text,
|
| + &replacement_path));
|
| + GURL src_url = test_server()->GetURL(replacement_path);
|
| +
|
| Profile* profile = browser()->GetSelectedTabContents()->profile();
|
| PrerenderManager* prerender_manager = profile->GetPrerenderManager();
|
| ASSERT_TRUE(prerender_manager);
|
| @@ -291,4 +297,23 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPopup) {
|
| FINAL_STATUS_CREATE_NEW_WINDOW, 1);
|
| }
|
|
|
| +// Test that page-based redirects to https will cancel prerenders.
|
| +IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderRedirectToHttps) {
|
| + net::TestServer https_server(net::TestServer::TYPE_HTTPS,
|
| + FilePath(FILE_PATH_LITERAL("chrome/test/data")));
|
| + ASSERT_TRUE(https_server.Start());
|
| + GURL https_url = https_server.GetURL("files/prerender/prerender_page.html");
|
| + std::vector<net::TestServer::StringPair> replacement_text;
|
| + replacement_text.push_back(
|
| + make_pair("REPLACE_WITH_HTTPS_URL", https_url.spec()));
|
| + std::string redirect_path;
|
| + ASSERT_TRUE(net::TestServer::GetFilePathWithReplacements(
|
| + "prerender_redirect_to_https.html",
|
| + replacement_text,
|
| + &redirect_path));
|
| + PrerenderTestURL(redirect_path,
|
| + FINAL_STATUS_HTTPS,
|
| + 2);
|
| +}
|
| +
|
| } // namespace prerender
|
|
|