| Index: chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
|
| ===================================================================
|
| --- chrome/browser/safe_browsing/safe_browsing_blocking_page.cc (revision 1840)
|
| +++ chrome/browser/safe_browsing/safe_browsing_blocking_page.cc (working copy)
|
| @@ -170,20 +170,10 @@
|
| // (typically the navigation was initiated by the page), we create a fake
|
| // navigation entry (so the location bar shows the page's URL).
|
| if (is_main_frame_ && tab_->controller()->GetPendingEntryIndex() == -1) {
|
| - // New navigation.
|
| - NavigationEntry* nav_entry = new NavigationEntry(TAB_CONTENTS_WEB);
|
| -
|
| - // We set the page ID to max page id so to ensure the controller considers
|
| - // this dummy entry a new one. Because we'll remove the entry when the
|
| - // interstitial is going away, it will not conflict with any future
|
| - // navigations.
|
| - nav_entry->set_page_id(tab_->GetMaxPageID() + 1);
|
| - nav_entry->set_page_type(NavigationEntry::INTERSTITIAL_PAGE);
|
| - nav_entry->set_url(url_);
|
| -
|
| - // The default details is "new navigation", and that's OK with us.
|
| - NavigationController::LoadCommittedDetails details;
|
| - tab_->controller()->DidNavigateToEntry(nav_entry, &details);
|
| + NavigationEntry new_entry(TAB_CONTENTS_WEB);
|
| + new_entry.set_url(url_);
|
| + new_entry.set_page_type(NavigationEntry::INTERSTITIAL_PAGE);
|
| + tab_->controller()->AddDummyEntryForInterstitial(new_entry);
|
| created_temporary_entry_ = true;
|
| }
|
|
|
| @@ -245,7 +235,7 @@
|
| // Remove the navigation entry for the malware page. Note that we always
|
| // remove the entry even if we did not create it as it has been flagged as
|
| // malware and we don't want the user navigating back to it.
|
| - web_contents->controller()->RemoveLastEntry();
|
| + web_contents->controller()->RemoveLastEntryForInterstitial();
|
|
|
| return true;
|
| }
|
| @@ -297,7 +287,7 @@
|
| // We are continuing, if we have created a temporary navigation entry,
|
| // delete it as a new will be created on navigation.
|
| if (created_temporary_entry_)
|
| - web->controller()->RemoveLastEntry();
|
| + web->controller()->RemoveLastEntryForInterstitial();
|
| if (is_main_frame_)
|
| web->HideInterstitialPage(true, true);
|
| else
|
|
|