| 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 e99b3a6aa14f3e10c50dea006b529455ab9c2596..23d1d2a88361b859f39d05666fd46f7d74c27b29 100644
|
| --- a/chrome/browser/prerender/prerender_test_utils.cc
|
| +++ b/chrome/browser/prerender/prerender_test_utils.cc
|
| @@ -357,13 +357,35 @@ void DestructionWaiter::DestructionMarker::OnPrerenderStop(
|
| }
|
|
|
| TestPrerender::TestPrerender()
|
| - : contents_(nullptr), number_of_loads_(0), expected_number_of_loads_(0) {}
|
| + : contents_(nullptr),
|
| + number_of_loads_(0),
|
| + expected_number_of_loads_(0),
|
| + started_(false),
|
| + stopped_(false) {}
|
|
|
| TestPrerender::~TestPrerender() {
|
| if (contents_)
|
| contents_->RemoveObserver(this);
|
| }
|
|
|
| +void TestPrerender::WaitForCreate() {
|
| + if (contents_)
|
| + return;
|
| + create_loop_.Run();
|
| +}
|
| +
|
| +void TestPrerender::WaitForStart() {
|
| + if (started_)
|
| + return;
|
| + start_loop_.Run();
|
| +}
|
| +
|
| +void TestPrerender::WaitForStop() {
|
| + if (stopped_)
|
| + return;
|
| + stop_loop_.Run();
|
| +}
|
| +
|
| void TestPrerender::WaitForLoads(int expected_number_of_loads) {
|
| DCHECK(!load_waiter_);
|
| DCHECK(!expected_number_of_loads_);
|
| @@ -385,6 +407,7 @@ void TestPrerender::OnPrerenderCreated(TestPrerenderContents* contents) {
|
| }
|
|
|
| void TestPrerender::OnPrerenderStart(PrerenderContents* contents) {
|
| + started_ = true;
|
| start_loop_.Quit();
|
| }
|
|
|
| @@ -397,6 +420,7 @@ void TestPrerender::OnPrerenderStopLoading(PrerenderContents* contents) {
|
| void TestPrerender::OnPrerenderStop(PrerenderContents* contents) {
|
| DCHECK(contents_);
|
| contents_ = nullptr;
|
| + stopped_ = true;
|
| stop_loop_.Quit();
|
| // If there is a WaitForLoads call and it has yet to see the expected number
|
| // of loads, stop the loop so the test fails instead of timing out.
|
|
|