Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5213)

Unified Diff: chrome/browser/safe_browsing/safe_browsing_blocking_page.cc

Issue 479: DidNavigate refactor of doom (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698