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

Unified Diff: chrome/browser/tab_contents/navigation_controller.h

Issue 147145: Fix: Certain redirections remove sites from the history... (Closed) Base URL: svn://chrome-svn.corp.google.com/chrome/trunk/src/
Patch Set: '' Created 11 years, 6 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/tab_contents/navigation_controller.h
===================================================================
--- chrome/browser/tab_contents/navigation_controller.h (revision 19705)
+++ chrome/browser/tab_contents/navigation_controller.h (working copy)
@@ -56,6 +56,7 @@
LoadCommittedDetails()
: entry(NULL),
is_auto(false),
+ did_replace_entry(false),
is_in_page(false),
is_main_frame(true) {
}
@@ -82,6 +83,11 @@
// cases (see bug 1051891).
bool is_auto;
+ // True if the committed entry has replaced the exisiting one.
+ // A non-user initiated redierct causes such replacement.
+ // This is somewhat similiar to is_auto, but not exactly the same.
+ bool did_replace_entry;
+
// True if the navigation was in-page. This means that the active entry's
// URL and the |previous_url| are the same except for reference fragments.
bool is_in_page;
@@ -397,14 +403,18 @@
// RendererDidNavigateAutoSubframe is special, it may not actually change
// anything if some random subframe is loaded. It will return true if anything
// changed, or false if not.
+ //
+ // The functions taking |did_replace_entry| will fill into the given variable
+ // whether the last entry has been replaced or not.
+ // See LoadCommittedDetails.did_replace_entry.
void RendererDidNavigateToNewPage(
- const ViewHostMsg_FrameNavigate_Params& params);
+ const ViewHostMsg_FrameNavigate_Params& params, bool* did_replace_entry);
void RendererDidNavigateToExistingPage(
const ViewHostMsg_FrameNavigate_Params& params);
void RendererDidNavigateToSamePage(
const ViewHostMsg_FrameNavigate_Params& params);
void RendererDidNavigateInPage(
- const ViewHostMsg_FrameNavigate_Params& params);
+ const ViewHostMsg_FrameNavigate_Params& params, bool* did_replace_entry);
void RendererDidNavigateNewSubframe(
const ViewHostMsg_FrameNavigate_Params& params);
bool RendererDidNavigateAutoSubframe(
« no previous file with comments | « chrome/browser/search_engines/template_url_model_unittest.cc ('k') | chrome/browser/tab_contents/navigation_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698