diff options
author | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-28 23:19:09 +0000 |
---|---|---|
committer | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-28 23:19:09 +0000 |
commit | 9360f32192a0ae04dfd8e2573097a2fdedbed325 (patch) | |
tree | 8e6e1812817a4e5eff623ae15af1bdfc03fa93ad /chrome/browser/prerender | |
parent | 8cbb66645a9d6b554f443fda9e8159646add61b4 (diff) | |
download | chromium_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.cc | 52 |
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); |