summaryrefslogtreecommitdiffstats
path: root/chrome/browser/prerender
diff options
context:
space:
mode:
authormmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-28 23:19:09 +0000
committermmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-28 23:19:09 +0000
commit9360f32192a0ae04dfd8e2573097a2fdedbed325 (patch)
tree8e6e1812817a4e5eff623ae15af1bdfc03fa93ad /chrome/browser/prerender
parent8cbb66645a9d6b554f443fda9e8159646add61b4 (diff)
downloadchromium_src-9360f32192a0ae04dfd8e2573097a2fdedbed325.zip
chromium_src-9360f32192a0ae04dfd8e2573097a2fdedbed325.tar.gz
chromium_src-9360f32192a0ae04dfd8e2573097a2fdedbed325.tar.bz2
Revert 76250 - Beef up prerendering tests a little.
Adds PrerenderBrowserTest.PrerenderNoSSLReferrer, which checks that there is no referrer when an SSL page prerenders a non-SSL page. Also modifies PrerenderBrowserTest.PrerenderRedirect to check that plugins are delay loaded in addition to making sure the prerendered page is used. BUG=73170 TEST=PrerenderBrowserTest.PrerenderNoSSLReferrer, PrerenderBrowserTest.PrerenderRedirect Review URL: http://codereview.chromium.org/6580041 TBR=mmenke@chromium.org Review URL: http://codereview.chromium.org/6598055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76304 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/prerender')
-rw-r--r--chrome/browser/prerender/prerender_browsertest.cc52
1 files changed, 11 insertions, 41 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);