diff options
4 files changed, 23 insertions, 65 deletions
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc index 3cf31bd..1643fd1 100644 --- a/chrome/browser/prerender/prerender_browsertest.cc +++ b/chrome/browser/prerender/prerender_browsertest.cc @@ -30,15 +30,6 @@ namespace prerender { namespace { -bool CreateRedirect(const std::string& dest_url, std::string* redirect_path) { - std::vector<net::TestServer::StringPair> replacement_text; - replacement_text.push_back(make_pair("REPLACE_WITH_URL", dest_url)); - return net::TestServer::GetFilePathWithReplacements( - "prerender_redirect.html", - replacement_text, - redirect_path); -} - // PrerenderContents that stops the UI message loop on DidStopLoading(). class TestPrerenderContents : public PrerenderContents { public: @@ -101,7 +92,7 @@ class WaitForLoadPrerenderContentsFactory : public PrerenderContents::Factory { class PrerenderBrowserTest : public InProcessBrowserTest { public: - PrerenderBrowserTest() : use_https_src_server_(false) { + PrerenderBrowserTest() { EnableDOMAutomation(); } @@ -135,17 +126,7 @@ class PrerenderBrowserTest : public InProcessBrowserTest { "files/prerender/prerender_loader.html", replacement_text, &replacement_path)); - - net::TestServer* src_server = test_server(); - scoped_ptr<net::TestServer> https_src_server; - if (use_https_src_server_) { - https_src_server.reset( - new net::TestServer(net::TestServer::TYPE_HTTPS, - FilePath(FILE_PATH_LITERAL("chrome/test/data")))); - ASSERT_TRUE(https_src_server->Start()); - src_server = https_src_server.get(); - } - GURL src_url = src_server->GetURL(replacement_path); + GURL src_url = test_server()->GetURL(replacement_path); Profile* profile = browser()->GetSelectedTabContents()->profile(); PrerenderManager* prerender_manager = profile->GetPrerenderManager(); @@ -221,13 +202,8 @@ class PrerenderBrowserTest : public InProcessBrowserTest { EXPECT_TRUE(display_test_result); } - void set_use_https_src(bool use_https_src_server) { - use_https_src_server_ = use_https_src_server; - } - private: GURL dest_url_; - bool use_https_src_server_; }; // Checks that a page is correctly prerendered in the case of a @@ -279,12 +255,9 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHttpAuthentication) { FINAL_STATUS_AUTH_NEEDED, 1); } -// Checks that HTML redirects work with prerendering - specifically, checks the -// page is used and plugins aren't loaded. +// Checks that redirects work with prerendering. IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderRedirect) { - std::string redirect_path; - ASSERT_TRUE(CreateRedirect("plugin_delay_load.html", &redirect_path)); - PrerenderTestURL(redirect_path, + PrerenderTestURL("prerender_redirect.html", FINAL_STATUS_USED, 2); NavigateToDestURL(); } @@ -318,15 +291,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderReferrer) { NavigateToDestURL(); } -// Checks that the referrer is not set when prerendering and the source page is -// HTTPS. -IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderNoSSLReferrer) { - set_use_https_src(true); - PrerenderTestURL("prerender_no_referrer.html", - FINAL_STATUS_USED, 1); - NavigateToDestURL(); -} - // Checks that popups on a prerendered page cause cancellation. IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPopup) { PrerenderTestURL("prerender_popup.html", @@ -340,8 +304,14 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, FLAKY_PrerenderRedirectToHttps) { 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(CreateRedirect(https_url.spec(), &redirect_path)); + ASSERT_TRUE(net::TestServer::GetFilePathWithReplacements( + "prerender_redirect_to_https.html", + replacement_text, + &redirect_path)); PrerenderTestURL(redirect_path, FINAL_STATUS_HTTPS, 2); diff --git a/chrome/test/data/prerender/prerender_no_referrer.html b/chrome/test/data/prerender/prerender_no_referrer.html deleted file mode 100644 index e8a67d1..0000000 --- a/chrome/test/data/prerender/prerender_no_referrer.html +++ /dev/null @@ -1,22 +0,0 @@ -<html> -<!-- -This test makes sure that referrer is not set when it shouldn't be, -such as when the referrer uses https and the destination page does -not. ---> -<head> -<title>Prerender No Referrer Test</title> -<script> -// Check there is no referrer. -function DidPrerenderPass() { - return document.referrer == ""; -} - -// Check there is no referrer. -function DidDisplayPass() { - return document.referrer == ""; -} -</script> -</head> -<body></body> -</html> diff --git a/chrome/test/data/prerender/prerender_redirect.html b/chrome/test/data/prerender/prerender_redirect.html index 6813de4..ac913b1 100644 --- a/chrome/test/data/prerender/prerender_redirect.html +++ b/chrome/test/data/prerender/prerender_redirect.html @@ -1,10 +1,10 @@ <html> <!-- -This is used to test prerendering in the case of HTML redirection. +This test checks to make sure that a prerendered page is loaded. --> <head> <title>Prerender Redirect</title> -<meta http-equiv="REFRESH" content="0;REPLACE_WITH_URL"> +<meta http-equiv="REFRESH" content="0;prerender_page.html"></HEAD> </head> <body></body> </html> diff --git a/chrome/test/data/prerender/prerender_redirect_to_https.html b/chrome/test/data/prerender/prerender_redirect_to_https.html new file mode 100644 index 0000000..da031d4 --- /dev/null +++ b/chrome/test/data/prerender/prerender_redirect_to_https.html @@ -0,0 +1,10 @@ +<html> +<!-- +This test checks to make sure that a prerendered page is loaded. +--> +<head> +<title>Prerender Redirect</title> +<meta http-equiv="REFRESH" content="0;REPLACE_WITH_HTTPS_URL"></HEAD> +</head> +<body></body> +</html> |