| Index: content/browser/frame_host/navigator_impl.cc
|
| diff --git a/content/browser/frame_host/navigator_impl.cc b/content/browser/frame_host/navigator_impl.cc
|
| index f01dc531fca5073272ebf8e64a56d9a65e265bc1..bcedb6564e44959bc12c9b8bd7feb0367aa3e79b 100644
|
| --- a/content/browser/frame_host/navigator_impl.cc
|
| +++ b/content/browser/frame_host/navigator_impl.cc
|
| @@ -105,7 +105,13 @@ void MakeNavigateParams(const NavigationEntryImpl& entry,
|
| entry.GetBrowserInitiatedPostData()->size());
|
| }
|
|
|
| - params->redirects = entry.redirect_chain();
|
| + // Set the redirect chain to the navigation's redirects, unless we are
|
| + // returning to a completed navigation (whose previous redirects don't apply).
|
| + if (PageTransitionIsNewNavigation(params->transition)) {
|
| + params->redirects = entry.GetRedirectChain();
|
| + } else {
|
| + params->redirects = std::vector<GURL>();
|
| + }
|
|
|
| params->can_load_local_resources = entry.GetCanLoadLocalResources();
|
| params->frame_to_navigate = entry.GetFrameToNavigate();
|
| @@ -168,7 +174,7 @@ void NavigatorImpl::DidStartProvisionalLoad(
|
| entry->set_transferred_global_request_id(
|
| pending_entry->transferred_global_request_id());
|
| entry->set_should_replace_entry(pending_entry->should_replace_entry());
|
| - entry->set_redirect_chain(pending_entry->redirect_chain());
|
| + entry->SetRedirectChain(pending_entry->GetRedirectChain());
|
| }
|
| controller_->SetPendingEntry(entry);
|
| if (delegate_)
|
|
|