Index: chrome/browser/prerender/prerender_contents.cc |
=================================================================== |
--- chrome/browser/prerender/prerender_contents.cc (revision 95657) |
+++ chrome/browser/prerender/prerender_contents.cc (working copy) |
@@ -503,9 +503,6 @@ |
if (prerendering_has_been_cancelled_) |
return; |
- prerendering_has_been_cancelled_ = true; |
- prerender_manager_->MoveEntryToPendingDelete(this); |
- |
if (child_id_ != -1 && route_id_ != -1) { |
// Cancel the prerender in the PrerenderTracker. This is needed |
// because destroy may be called directly from the UI thread without calling |
@@ -524,6 +521,11 @@ |
} |
set_final_status(final_status); |
+ prerendering_has_been_cancelled_ = true; |
+ // This has to be done after setting the final status, as it adds the |
+ // prerender to the history. |
+ prerender_manager_->MoveEntryToPendingDelete(this); |
+ |
// We may destroy the PrerenderContents before we have initialized the |
// RenderViewHost. Otherwise set the Observer's PrerenderContents to NULL to |
// avoid any more messages being sent. |