| Index: chrome/browser/prerender/prerender_browsertest.cc
|
| ===================================================================
|
| --- chrome/browser/prerender/prerender_browsertest.cc (revision 109294)
|
| +++ chrome/browser/prerender/prerender_browsertest.cc (working copy)
|
| @@ -127,7 +127,8 @@
|
| should_be_shown_(expected_final_status == FINAL_STATUS_USED),
|
| quit_message_loop_on_destruction_(
|
| expected_final_status != FINAL_STATUS_EVICTED &&
|
| - expected_final_status != FINAL_STATUS_APP_TERMINATING),
|
| + expected_final_status != FINAL_STATUS_APP_TERMINATING &&
|
| + expected_final_status != FINAL_STATUS_MATCH_COMPLETE_DUMMY),
|
| expected_pending_prerenders_(0) {
|
| if (expected_number_of_loads == 0)
|
| MessageLoopForUI::current()->Quit();
|
| @@ -177,11 +178,11 @@
|
| PrerenderContents::RenderViewGone();
|
| }
|
|
|
| - virtual bool AddAliasURL(const GURL& url) OVERRIDE {
|
| + virtual bool AddAliasURL(const GURL& url, bool destroy_on_failure) OVERRIDE {
|
| // Prevent FINAL_STATUS_UNSUPPORTED_SCHEME when navigating to about:crash in
|
| // the PrerenderRendererCrash test.
|
| if (url.spec() != chrome::kAboutCrashURL)
|
| - return PrerenderContents::AddAliasURL(url);
|
| + return PrerenderContents::AddAliasURL(url, destroy_on_failure);
|
| return true;
|
| }
|
|
|
| @@ -303,11 +304,11 @@
|
| const GURL& referrer,
|
| Origin origin,
|
| uint8 experiment_id) OVERRIDE {
|
| - CHECK(!expected_final_status_queue_.empty()) <<
|
| - "Creating prerender contents for " << url.path() <<
|
| - " with no expected final status";
|
| - FinalStatus expected_final_status = expected_final_status_queue_.front();
|
| - expected_final_status_queue_.pop_front();
|
| + FinalStatus expected_final_status = FINAL_STATUS_MATCH_COMPLETE_DUMMY;
|
| + if (!expected_final_status_queue_.empty()) {
|
| + expected_final_status = expected_final_status_queue_.front();
|
| + expected_final_status_queue_.pop_front();
|
| + }
|
| VLOG(1) << "Creating prerender contents for " << url.path() <<
|
| " with expected final status " << expected_final_status;
|
| VLOG(1) << expected_final_status_queue_.size() << " left in the queue.";
|
| @@ -720,8 +721,10 @@
|
| }
|
| } else {
|
| // In the failure case, we should have removed |dest_url_| from the
|
| - // prerender_manager.
|
| - EXPECT_TRUE(prerender_contents == NULL);
|
| + // prerender_manager. We ignore dummy PrerenderContents (as indicated
|
| + // by not having started).
|
| + EXPECT_TRUE(prerender_contents == NULL ||
|
| + !prerender_contents->prerendering_has_started());
|
| }
|
| }
|
|
|
|
|