| Index: chrome/browser/prerender/prerender_contents.cc
|
| diff --git a/chrome/browser/prerender/prerender_contents.cc b/chrome/browser/prerender/prerender_contents.cc
|
| index 343c61a163de4cad8b5f84f4678f74498d6d3534..bbe780638f0cceddafe715b50fa3dca6281720c9 100644
|
| --- a/chrome/browser/prerender/prerender_contents.cc
|
| +++ b/chrome/browser/prerender/prerender_contents.cc
|
| @@ -33,6 +33,7 @@
|
| #include "content/browser/site_instance.h"
|
| #include "content/browser/tab_contents/tab_contents_delegate.h"
|
| #include "content/browser/tab_contents/tab_contents_view.h"
|
| +#include "content/common/content_constants.h"
|
| #include "content/common/notification_service.h"
|
| #include "content/common/view_messages.h"
|
| #include "ui/gfx/rect.h"
|
| @@ -257,14 +258,12 @@ void PrerenderContents::StartPrerendering(
|
| TabContents* source_tc =
|
| source_render_view_host->delegate()->GetAsTabContents();
|
| if (source_tc) {
|
| - // So that history merging will work, get the max page ID
|
| - // of the old page, and add a safety margin of 10 to it (for things
|
| - // such as redirects).
|
| - int32 max_page_id = source_tc->GetMaxPageID();
|
| - if (max_page_id != -1) {
|
| - prerender_contents_->controller().set_max_restored_page_id(
|
| - max_page_id + 10);
|
| - }
|
| + // So that history merging will work, set the max page ID to one greater
|
| + // than the largest we can ever have. This allows for redirects, but also
|
| + // for any tabs the user may open between us rendering this page and
|
| + // swapping it in.
|
| + prerender_contents_->controller().set_max_restored_page_id(
|
| + content::kMaxSessionHistoryEntries + 1);
|
|
|
| tab_contents_delegate_.reset(new TabContentsDelegateImpl(this));
|
| new_contents->set_delegate(tab_contents_delegate_.get());
|
|
|