Chromium Code Reviews| Index: content/browser/frame_host/navigation_entry_impl.cc |
| diff --git a/content/browser/frame_host/navigation_entry_impl.cc b/content/browser/frame_host/navigation_entry_impl.cc |
| index 5e47912398bed6bf721136e8b2ae7b979241052d..97c4a0efd2a871bdb601e2ee3caccf97f9013126 100644 |
| --- a/content/browser/frame_host/navigation_entry_impl.cc |
| +++ b/content/browser/frame_host/navigation_entry_impl.cc |
| @@ -446,10 +446,22 @@ CommonNavigationParams NavigationEntryImpl::ConstructCommonNavigationParams( |
| ui_timestamp = intent_received_timestamp(); |
| #endif |
| + GURL url = frame_entry.url(); |
| + Referrer referrer = frame_entry.referrer(); |
| + if (navigation_type == FrameMsg_Navigate_Type::RELOAD_ORIGINAL_REQUEST_URL && |
| + GetOriginalRequestURL().is_valid() && !GetHasPostData()) { |
| + // We may have been redirected when navigating to the current URL. |
| + // Use the URL the user originally intended to visit, if it's valid and if a |
| + // POST wasn't involved; the latter case avoids issues with sending data to |
| + // the wrong page. |
| + url = GetOriginalRequestURL(); |
|
Charlie Reis
2015/07/06 20:56:39
Switching the URL here is clever, but it causes pr
lfg
2015/07/08 22:09:28
That seems to be the only issue, so I fixed just t
|
| + referrer = Referrer(); |
| + } |
| + |
| return CommonNavigationParams( |
| - frame_entry.url(), frame_entry.referrer(), GetTransitionType(), |
| - navigation_type, !IsViewSourceMode(), ui_timestamp, report_type, |
| - GetBaseURLForDataURL(), GetHistoryURLForDataURL()); |
| + url, referrer, GetTransitionType(), navigation_type, !IsViewSourceMode(), |
| + ui_timestamp, report_type, GetBaseURLForDataURL(), |
| + GetHistoryURLForDataURL()); |
| } |
| StartNavigationParams NavigationEntryImpl::ConstructStartNavigationParams() |