Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(322)

Unified Diff: content/browser/frame_host/navigation_entry_impl.cc

Issue 2368183004: Move redirect_chain from NavigationEntry to FrameNavigationEntry. (Closed)
Patch Set: Add tests + bugfix. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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));
}

Powered by Google App Engine
This is Rietveld 408576698