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

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

Issue 2455653005: Revert "Revert of [NoStatePrefetch] Kill renderer after preload scanning (patchset #12 id:240001 of… (Closed)
Patch Set: rebased 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
« no previous file with comments | « chrome/browser/prerender/prerender_test_utils.h ('k') | chrome/common/prerender_messages.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/prerender/prerender_test_utils.cc
diff --git a/chrome/browser/prerender/prerender_test_utils.cc b/chrome/browser/prerender/prerender_test_utils.cc
index b95f60cdaa60296e2828fad158e14e3ec04fd010..364bfe579f57baa7b1c17ef274cb65c77f01f73d 100644
--- a/chrome/browser/prerender/prerender_test_utils.cc
+++ b/chrome/browser/prerender/prerender_test_utils.cc
@@ -7,9 +7,11 @@
#include <memory>
#include <set>
#include <string>
+#include <utility>
#include <vector>
#include "base/command_line.h"
+#include "base/strings/string_split.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/loader/chrome_resource_dispatcher_host_delegate.h"
#include "chrome/browser/prerender/prerender_manager.h"
@@ -29,6 +31,7 @@
#include "content/public/common/content_switches.h"
#include "content/public/common/url_constants.h"
#include "content/public/test/ppapi_test_utils.h"
+#include "net/test/embedded_test_server/request_handler_util.h"
#include "net/url_request/url_request_filter.h"
#include "ppapi/shared_impl/ppapi_switches.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -346,6 +349,7 @@ void DestructionWaiter::DestructionMarker::OnPrerenderStop(
TestPrerender::TestPrerender()
: contents_(nullptr),
+ final_status_(FINAL_STATUS_MAX),
number_of_loads_(0),
expected_number_of_loads_(0),
started_(false),
@@ -356,6 +360,12 @@ TestPrerender::~TestPrerender() {
contents_->RemoveObserver(this);
}
+FinalStatus TestPrerender::GetFinalStatus() const {
+ if (contents_)
+ return contents_->final_status();
+ return final_status_;
+}
+
void TestPrerender::WaitForCreate() {
if (contents_)
return;
@@ -408,6 +418,7 @@ void TestPrerender::OnPrerenderStopLoading(PrerenderContents* contents) {
void TestPrerender::OnPrerenderStop(PrerenderContents* contents) {
DCHECK(contents_);
contents_ = nullptr;
+ final_status_ = contents->final_status();
stopped_ = true;
stop_loop_.Quit();
// If there is a WaitForLoads call and it has yet to see the expected number
@@ -528,36 +539,6 @@ TestPrerenderContents* PrerenderInProcessBrowserTest::GetPrerenderContentsFor(
prerender_data ? prerender_data->contents() : nullptr);
}
-std::unique_ptr<TestPrerender> PrerenderInProcessBrowserTest::PrerenderTestURL(
- const std::string& html_file,
- FinalStatus expected_final_status,
- int expected_number_of_loads) {
- GURL url = src_server()->GetURL(MakeAbsolute(html_file));
- return PrerenderTestURL(url, expected_final_status, expected_number_of_loads);
-}
-
-std::unique_ptr<TestPrerender> PrerenderInProcessBrowserTest::PrerenderTestURL(
- const GURL& url,
- FinalStatus expected_final_status,
- int expected_number_of_loads) {
- std::vector<FinalStatus> expected_final_status_queue(1,
- expected_final_status);
- auto prerenders = PrerenderTestURLImpl(url, expected_final_status_queue,
- expected_number_of_loads);
- CHECK_EQ(1u, prerenders.size());
- return std::move(prerenders[0]);
-}
-
-std::vector<std::unique_ptr<TestPrerender>>
-PrerenderInProcessBrowserTest::PrerenderTestURL(
- const std::string& html_file,
- const std::vector<FinalStatus>& expected_final_status_queue,
- int expected_number_of_loads) {
- GURL url = src_server()->GetURL(MakeAbsolute(html_file));
- return PrerenderTestURLImpl(url, expected_final_status_queue,
- expected_number_of_loads);
-}
-
net::EmbeddedTestServer* PrerenderInProcessBrowserTest::src_server() {
if (https_src_server_)
return https_src_server_.get();
@@ -629,8 +610,7 @@ base::string16 PrerenderInProcessBrowserTest::MatchTaskManagerPrerender(
std::vector<std::unique_ptr<TestPrerender>>
PrerenderInProcessBrowserTest::NavigateWithPrerenders(
const GURL& loader_url,
- const std::vector<FinalStatus>& expected_final_status_queue,
- int expected_number_of_loads) {
+ const std::vector<FinalStatus>& expected_final_status_queue) {
CHECK(!expected_final_status_queue.empty());
std::vector<std::unique_ptr<TestPrerender>> prerenders;
for (size_t i = 0; i < expected_final_status_queue.size(); i++) {
@@ -641,12 +621,25 @@ PrerenderInProcessBrowserTest::NavigateWithPrerenders(
// Navigate to the loader URL and then wait for the first prerender to be
// created.
ui_test_utils::NavigateToURL(current_browser(), loader_url);
- prerenders.at(0)->WaitForCreate();
- prerenders.at(0)->WaitForLoads(expected_number_of_loads);
+ prerenders[0]->WaitForCreate();
return prerenders;
}
+GURL PrerenderInProcessBrowserTest::ServeLoaderURL(
+ const std::string& loader_path,
+ const std::string& replacement_variable,
+ const GURL& url_to_prerender,
+ const std::string& loader_query) {
+ base::StringPairs replacement_text;
+ replacement_text.push_back(
+ make_pair(replacement_variable, url_to_prerender.spec()));
+ std::string replacement_path;
+ net::test_server::GetFilePathWithReplacements(loader_path, replacement_text,
+ &replacement_path);
+ return src_server()->GetURL(replacement_path + loader_query);
+}
+
void CreateCountingInterceptorOnIO(
const GURL& url,
const base::FilePath& file,
« no previous file with comments | « chrome/browser/prerender/prerender_test_utils.h ('k') | chrome/common/prerender_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698