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 655387021e8419af5a295de90267c0baee5a487f..9d3c9b2dfaa796eebfba34d36867014c9099e377 100644 |
--- a/content/browser/frame_host/navigation_entry_impl.cc |
+++ b/content/browser/frame_host/navigation_entry_impl.cc |
@@ -551,11 +551,11 @@ int NavigationEntryImpl::GetHttpStatusCode() const { |
void NavigationEntryImpl::SetRedirectChain( |
const std::vector<GURL>& redirect_chain) { |
- redirect_chain_ = redirect_chain; |
+ root_node()->frame_entry->set_redirect_chain(redirect_chain); |
} |
const std::vector<GURL>& NavigationEntryImpl::GetRedirectChain() const { |
- return redirect_chain_; |
+ return root_node()->frame_entry->redirect_chain(); |
} |
bool NavigationEntryImpl::IsRestored() const { |
@@ -635,7 +635,6 @@ std::unique_ptr<NavigationEntryImpl> NavigationEntryImpl::CloneAndReplace( |
copy->cached_display_title_ = cached_display_title_; |
// ResetForCommit: transferred_global_request_id_ |
// ResetForCommit: should_replace_entry_ |
- copy->redirect_chain_ = redirect_chain_; |
// ResetForCommit: should_clear_history_list_ |
// ResetForCommit: frame_tree_node_id_ |
// ResetForCommit: intent_received_timestamp_ |
@@ -702,7 +701,7 @@ RequestNavigationParams NavigationEntryImpl::ConstructRequestNavigationParams( |
// completed navigation (whose previous redirects don't apply). |
std::vector<GURL> redirects; |
if (ui::PageTransitionIsNewNavigation(GetTransitionType())) { |
- redirects = GetRedirectChain(); |
+ redirects = frame_entry.redirect_chain(); |
} |
int pending_offset_to_send = pending_history_list_offset; |
@@ -778,6 +777,7 @@ void NavigationEntryImpl::AddOrUpdateFrameEntry( |
scoped_refptr<SiteInstanceImpl> source_site_instance, |
const GURL& url, |
const Referrer& referrer, |
+ const std::vector<GURL>& redirect_chain, |
const PageState& page_state, |
const std::string& method, |
int64_t post_id) { |
@@ -801,8 +801,8 @@ void NavigationEntryImpl::AddOrUpdateFrameEntry( |
root_node()->frame_entry->UpdateEntry( |
frame_tree_node->unique_name(), item_sequence_number, |
document_sequence_number, site_instance, |
- std::move(source_site_instance), url, referrer, page_state, method, |
- post_id); |
+ std::move(source_site_instance), url, referrer, redirect_chain, |
+ page_state, method, post_id); |
return; |
} |
@@ -827,10 +827,10 @@ void NavigationEntryImpl::AddOrUpdateFrameEntry( |
child->children.clear(); |
// Update the existing FrameNavigationEntry (e.g., for replaceState). |
- child->frame_entry->UpdateEntry(unique_name, item_sequence_number, |
- document_sequence_number, site_instance, |
- std::move(source_site_instance), url, |
- referrer, page_state, method, post_id); |
+ child->frame_entry->UpdateEntry( |
+ unique_name, item_sequence_number, document_sequence_number, |
+ site_instance, std::move(source_site_instance), url, referrer, |
+ redirect_chain, page_state, method, post_id); |
return; |
} |
} |
@@ -843,6 +843,7 @@ void NavigationEntryImpl::AddOrUpdateFrameEntry( |
site_instance, std::move(source_site_instance), url, referrer, method, |
post_id); |
frame_entry->SetPageState(page_state); |
+ frame_entry->set_redirect_chain(redirect_chain); |
parent_node->children.push_back( |
new NavigationEntryImpl::TreeNode(parent_node, frame_entry)); |
} |