Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(295)

Unified Diff: chrome/browser/prerender/prerender_browsertest.cc

Issue 2304953002: NoState Prefetch: nostate prefetch browser tests. (Closed)
Patch Set: comments Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prerender/prerender_browsertest.cc
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc
index f1edffd7cefa8cac9e2b59340f0ffa267acf13f5..512e7d999ba7f9bf4522cd42c600ae917423d683 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;
@@ -736,15 +733,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;
}
@@ -843,15 +831,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");
@@ -912,20 +891,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.
@@ -946,34 +911,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();
@@ -1059,13 +1008,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_;
};
// Checks that a page is correctly prerendered in the case of a
@@ -1680,11 +1627,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();
}
@@ -2169,14 +2120,14 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderXhrDelete) {
// Checks that a top-level page which would trigger an SSL error is canceled.
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSSLErrorTopLevel) {
+ // Set up HTTPS server for prerendered page, and check that an SSL error will
pasko 2016/10/03 18:54:17 Please replace the toplevel comment for this test
mattcary 2016/10/04 08:25:12 Done.
+ // cancel the prerender. The prerenderer loader will serve through HTTP.
pasko 2016/10/03 18:54:17 perhaps "will be served"? I do not understand how
mattcary 2016/10/04 08:25:12 Done.
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

Powered by Google App Engine
This is Rietveld 408576698