summaryrefslogtreecommitdiffstats
path: root/content/browser/frame_host/navigation_controller_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/frame_host/navigation_controller_impl.cc')
-rw-r--r--content/browser/frame_host/navigation_controller_impl.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc
index d326f76..5b08aa1a 100644
--- a/content/browser/frame_host/navigation_controller_impl.cc
+++ b/content/browser/frame_host/navigation_controller_impl.cc
@@ -308,6 +308,7 @@ void NavigationControllerImpl::ReloadInternal(bool check_for_repost,
// POST wasn't involved; the latter case avoids issues with sending data to
// the wrong page.
entry->SetURL(entry->GetOriginalRequestURL());
+ entry->SetReferrer(Referrer());
}
if (g_check_for_repost && check_for_repost &&
@@ -1056,6 +1057,7 @@ void NavigationControllerImpl::RendererDidNavigateToExistingPage(
// The URL may have changed due to redirects.
entry->SetURL(params.url);
+ entry->SetReferrer(params.referrer);
if (entry->update_virtual_url_with_url())
UpdateVirtualURLToURL(entry, params.url);
@@ -1109,6 +1111,7 @@ void NavigationControllerImpl::RendererDidNavigateToSamePage(
if (existing_entry->update_virtual_url_with_url())
UpdateVirtualURLToURL(existing_entry, params.url);
existing_entry->SetURL(params.url);
+ existing_entry->SetReferrer(params.referrer);
// The page may have been requested with a different HTTP method.
existing_entry->SetHasPostData(params.is_post);