| Index: chrome/browser/prerender/prerender_contents.cc
|
| diff --git a/chrome/browser/prerender/prerender_contents.cc b/chrome/browser/prerender/prerender_contents.cc
|
| index 23be43dba3771000af4cd146efa123f44ea0fb19..c659c64895330e04fd9fc632244734b26a1ca89d 100644
|
| --- a/chrome/browser/prerender/prerender_contents.cc
|
| +++ b/chrome/browser/prerender/prerender_contents.cc
|
| @@ -88,17 +88,27 @@ class PrerenderContents::TabContentsDelegateImpl
|
| return false;
|
| }
|
|
|
| - bool CanDownload(TabContents* source, int request_id) OVERRIDE {
|
| + virtual bool CanDownload(TabContents* source, int request_id) OVERRIDE {
|
| prerender_contents_->Destroy(FINAL_STATUS_DOWNLOAD);
|
| // Cancel the download.
|
| return false;
|
| }
|
|
|
| - void OnStartDownload(TabContents* source, DownloadItem* download) OVERRIDE {
|
| + virtual void OnStartDownload(TabContents* source,
|
| + DownloadItem* download) OVERRIDE {
|
| // Prerendered pages should never be able to download files.
|
| NOTREACHED();
|
| }
|
|
|
| + virtual bool OnGoToEntryOffset(int offset) OVERRIDE {
|
| + // This isn't allowed because the history merge operation
|
| + // does not work if there are renderer issued challenges.
|
| + // TODO(cbentzel): Cancel in this case? May not need to do
|
| + // since render-issued offset navigations are not guaranteed,
|
| + // but indicates that the page cares about the history.
|
| + return false;
|
| + }
|
| +
|
| // Commits the History of Pages to the given TabContents.
|
| void CommitHistory(TabContentsWrapper* tab) {
|
| for (size_t i = 0; i < add_page_vector_.size(); ++i)
|
| @@ -602,4 +612,13 @@ Value* PrerenderContents::GetAsValue() const {
|
| return dict_value;
|
| }
|
|
|
| +bool PrerenderContents::IsCrossSiteNavigationPending() const {
|
| + if (!prerender_contents_.get() || !prerender_contents_->tab_contents())
|
| + return false;
|
| + const TabContents* tab_contents = prerender_contents_->tab_contents();
|
| + return (tab_contents->GetSiteInstance() !=
|
| + tab_contents->GetPendingSiteInstance());
|
| +}
|
| +
|
| +
|
| } // namespace prerender
|
|
|