| Index: chrome/browser/prerender/prerender_browsertest.cc
|
| diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc
|
| index 50fe075c8a30766cfc24d93da673448fbeb88a4e..bfed0cfd9ff18c92b82ead4fe7aff60610c122ac 100644
|
| --- a/chrome/browser/prerender/prerender_browsertest.cc
|
| +++ b/chrome/browser/prerender/prerender_browsertest.cc
|
| @@ -25,7 +25,6 @@
|
| #include "base/strings/string_util.h"
|
| #include "base/strings/stringprintf.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| -#include "base/test/histogram_tester.h"
|
| #include "base/test/scoped_feature_list.h"
|
| #include "base/test/test_timeouts.h"
|
| #include "base/values.h"
|
| @@ -66,7 +65,6 @@
|
| #include "chrome/common/chrome_features.h"
|
| #include "chrome/common/chrome_paths.h"
|
| #include "chrome/common/chrome_switches.h"
|
| -#include "chrome/grit/generated_resources.h"
|
| #include "chrome/test/base/ui_test_utils.h"
|
| #include "components/content_settings/core/browser/host_content_settings_map.h"
|
| #include "components/favicon/content/content_favicon_driver.h"
|
| @@ -117,7 +115,6 @@
|
| #include "net/url_request/url_request_job.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| -#include "ui/base/l10n/l10n_util.h"
|
| #include "url/gurl.h"
|
|
|
| using chrome_browser_net::NetworkPredictionOptions;
|
| @@ -745,15 +742,6 @@ class PrerenderBrowserTest : public test_utils::PrerenderInProcessBrowserTest {
|
| EXPECT_TRUE(js_result);
|
| }
|
|
|
| - void UseHttpsSrcServer() {
|
| - if (https_src_server_)
|
| - return;
|
| - https_src_server_.reset(
|
| - new net::EmbeddedTestServer(net::EmbeddedTestServer::TYPE_HTTPS));
|
| - https_src_server_->ServeFilesFromSourceDirectory("chrome/test/data");
|
| - CHECK(https_src_server_->Start());
|
| - }
|
| -
|
| void DisableJavascriptCalls() {
|
| call_javascript_ = false;
|
| }
|
| @@ -852,15 +840,6 @@ class PrerenderBrowserTest : public test_utils::PrerenderInProcessBrowserTest {
|
| return history_list->GetSize();
|
| }
|
|
|
| - test_utils::FakeSafeBrowsingDatabaseManager*
|
| - GetFakeSafeBrowsingDatabaseManager() {
|
| - return static_cast<test_utils::FakeSafeBrowsingDatabaseManager*>(
|
| - safe_browsing_factory()
|
| - ->test_safe_browsing_service()
|
| - ->database_manager()
|
| - .get());
|
| - }
|
| -
|
| void SetLoaderHostOverride(const std::string& host) {
|
| loader_host_override_ = host;
|
| host_resolver()->AddRule(host, "127.0.0.1");
|
| @@ -921,20 +900,6 @@ class PrerenderBrowserTest : public test_utils::PrerenderInProcessBrowserTest {
|
| base::ASCIIToUTF16(javascript));
|
| }
|
|
|
| - // Returns a string for pattern-matching TaskManager tab entries.
|
| - base::string16 MatchTaskManagerTab(const char* page_title) {
|
| - return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_TAB_PREFIX,
|
| - base::ASCIIToUTF16(page_title));
|
| - }
|
| -
|
| - // Returns a string for pattern-matching TaskManager prerender entries.
|
| - base::string16 MatchTaskManagerPrerender(const char* page_title) {
|
| - return l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_PRERENDER_PREFIX,
|
| - base::ASCIIToUTF16(page_title));
|
| - }
|
| -
|
| - const base::HistogramTester& histogram_tester() { return histogram_tester_; }
|
| -
|
| private:
|
| // TODO(davidben): Remove this altogether so the tests don't globally assume
|
| // only one prerender.
|
| @@ -955,34 +920,18 @@ class PrerenderBrowserTest : public test_utils::PrerenderInProcessBrowserTest {
|
| net::test_server::GetFilePathWithReplacements(
|
| loader_path_, replacement_text, &replacement_path);
|
|
|
| - const net::EmbeddedTestServer* src_server = embedded_test_server();
|
| - if (https_src_server_)
|
| - src_server = https_src_server_.get();
|
| - GURL loader_url = src_server->GetURL(
|
| - replacement_path + "&" + loader_query_);
|
| + GURL loader_url =
|
| + src_server()->GetURL(replacement_path + "&" + loader_query_);
|
|
|
| GURL::Replacements loader_replacements;
|
| if (!loader_host_override_.empty())
|
| loader_replacements.SetHostStr(loader_host_override_);
|
| loader_url = loader_url.ReplaceComponents(loader_replacements);
|
|
|
| - CHECK(!expected_final_status_queue.empty());
|
| - ScopedVector<TestPrerender> prerenders;
|
| - for (size_t i = 0; i < expected_final_status_queue.size(); i++) {
|
| - prerenders.push_back(
|
| - prerender_contents_factory()
|
| - ->ExpectPrerenderContents(expected_final_status_queue[i])
|
| - .release());
|
| - }
|
| + ScopedVector<TestPrerender> prerenders = NavigateWithPrerenders(
|
| + loader_url, expected_final_status_queue, expected_number_of_loads);
|
|
|
| FinalStatus expected_final_status = expected_final_status_queue.front();
|
| -
|
| - // Navigate to the loader URL and then wait for the first prerender to be
|
| - // created.
|
| - ui_test_utils::NavigateToURL(current_browser(), loader_url);
|
| - prerenders[0]->WaitForCreate();
|
| - prerenders[0]->WaitForLoads(expected_number_of_loads);
|
| -
|
| if (ShouldAbortPrerenderBeforeSwap(expected_final_status)) {
|
| // The prerender will abort on its own. Assert it does so correctly.
|
| prerenders[0]->WaitForStop();
|
| @@ -1068,13 +1017,11 @@ class PrerenderBrowserTest : public test_utils::PrerenderInProcessBrowserTest {
|
| }
|
|
|
| GURL dest_url_;
|
| - std::unique_ptr<net::EmbeddedTestServer> https_src_server_;
|
| bool call_javascript_;
|
| bool check_load_events_;
|
| std::string loader_host_override_;
|
| std::string loader_path_;
|
| std::string loader_query_;
|
| - base::HistogramTester histogram_tester_;
|
| base::test::ScopedFeatureList feature_list_;
|
| };
|
|
|
| @@ -1685,11 +1632,15 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderReferrer) {
|
|
|
| // Checks that the referrer is not set when prerendering and the source page is
|
| // HTTPS.
|
| -IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest,
|
| - PrerenderNoSSLReferrer) {
|
| +IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderNoSSLReferrer) {
|
| + // Use http:// url for the prerendered page main resource.
|
| + GURL url(
|
| + embedded_test_server()->GetURL("/prerender/prerender_no_referrer.html"));
|
| +
|
| + // Use https:// for all other resources.
|
| UseHttpsSrcServer();
|
| - PrerenderTestURL("/prerender/prerender_no_referrer.html", FINAL_STATUS_USED,
|
| - 1);
|
| +
|
| + PrerenderTestURL(url, FINAL_STATUS_USED, 1);
|
| NavigateToDestURL();
|
| }
|
|
|
| @@ -2172,16 +2123,15 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderXhrDelete) {
|
| FINAL_STATUS_INVALID_HTTP_METHOD, 1);
|
| }
|
|
|
| -// Checks that a top-level page which would trigger an SSL error is canceled.
|
| +// Sets up HTTPS server for prerendered page, and checks that an SSL error will
|
| +// cancel the prerender. The prerenderer loader will be served through HTTP.
|
| IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSSLErrorTopLevel) {
|
| net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS);
|
| https_server.SetSSLConfig(net::EmbeddedTestServer::CERT_MISMATCHED_NAME);
|
| https_server.ServeFilesFromSourceDirectory("chrome/test/data");
|
| ASSERT_TRUE(https_server.Start());
|
| GURL https_url = https_server.GetURL("/prerender/prerender_page.html");
|
| - PrerenderTestURL(https_url,
|
| - FINAL_STATUS_SSL_ERROR,
|
| - 0);
|
| + PrerenderTestURL(https_url, FINAL_STATUS_SSL_ERROR, 0);
|
| }
|
|
|
| // Checks that an SSL error that comes from a subresource does not cancel
|
|
|