diff options
author | yuzo@chromium.org <yuzo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-01 04:51:47 +0000 |
---|---|---|
committer | yuzo@chromium.org <yuzo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-01 04:51:47 +0000 |
commit | befd8d82ec47c02d6b17d9fa7b6c1f3bb703150f (patch) | |
tree | cdcbb4ced140ad2db3018c3fa74e14d5f1540d59 /chrome/browser/history/history.cc | |
parent | feab536198e21e8f4777c3c8035a6ca6479f6912 (diff) | |
download | chromium_src-befd8d82ec47c02d6b17d9fa7b6c1f3bb703150f.zip chromium_src-befd8d82ec47c02d6b17d9fa7b6c1f3bb703150f.tar.gz chromium_src-befd8d82ec47c02d6b17d9fa7b6c1f3bb703150f.tar.bz2 |
Fix: Certain redirections remove sites from the history
Currently, PageTransition::CHAIN_END flag is removed from a History database
entry for a redirect source, even when the redirect is user initiated.
This change prevents the flag removal for user-initiated redirects.
TEST=Open http://www.google.com/ig and click on tabs multiple times. Without
this change, only the last tab clicked appears in the History page (CTRL+H).
With this change, all the tabs should appear.
TESTED=gcl try, manually
BUG=11355
Review URL: http://codereview.chromium.org/147145
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19708 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/history/history.cc')
-rw-r--r-- | chrome/browser/history/history.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/chrome/browser/history/history.cc b/chrome/browser/history/history.cc index 01d3e35..49b76c6 100644 --- a/chrome/browser/history/history.cc +++ b/chrome/browser/history/history.cc @@ -253,8 +253,10 @@ void HistoryService::AddPage(const GURL& url, int32 page_id, const GURL& referrer, PageTransition::Type transition, - const RedirectList& redirects) { - AddPage(url, Time::Now(), id_scope, page_id, referrer, transition, redirects); + const RedirectList& redirects, + bool did_replace_entry) { + AddPage(url, Time::Now(), id_scope, page_id, referrer, transition, redirects, + did_replace_entry); } void HistoryService::AddPage(const GURL& url, @@ -263,7 +265,8 @@ void HistoryService::AddPage(const GURL& url, int32 page_id, const GURL& referrer, PageTransition::Type transition, - const RedirectList& redirects) { + const RedirectList& redirects, + bool did_replace_entry) { DCHECK(history_backend_) << "History service being called after cleanup"; // Filter out unwanted URLs. We don't add auto-subframe URLs. They are a @@ -292,7 +295,8 @@ void HistoryService::AddPage(const GURL& url, scoped_refptr<history::HistoryAddPageArgs> request( new history::HistoryAddPageArgs(url, time, id_scope, page_id, - referrer, redirects, transition)); + referrer, redirects, transition, + did_replace_entry)); ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::AddPage, request); } |