summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/prerender/prerender_browsertest.cc52
-rw-r--r--chrome/test/data/prerender/prerender_no_referrer.html22
-rw-r--r--chrome/test/data/prerender/prerender_redirect.html4
-rw-r--r--chrome/test/data/prerender/prerender_redirect_to_https.html10
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>