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

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

Issue 1184423005: Add item and document sequence numbers to FrameNavigationEntry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update and add test Created 5 years, 6 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 d170f4d3b469cc73edcf224168017b7d53c42bfa..383d56c2c1fbb616b7bfe8587b5b36953352e81b 100644
--- a/content/browser/frame_host/navigation_entry_impl.cc
+++ b/content/browser/frame_host/navigation_entry_impl.cc
@@ -95,7 +95,8 @@ NavigationEntryImpl::NavigationEntryImpl(SiteInstanceImpl* instance,
ui::PageTransition transition_type,
bool is_renderer_initiated)
: frame_tree_(
- new TreeNode(new FrameNavigationEntry(-1, instance, url, referrer))),
+ new TreeNode(new FrameNavigationEntry(-1, -1, -1, instance, url,
+ referrer))),
unique_id_(GetUniqueIDInConstructor()),
bindings_(kInvalidBindings),
page_type_(PAGE_TYPE_NORMAL),
@@ -504,6 +505,8 @@ void NavigationEntryImpl::ResetForCommit() {
}
void NavigationEntryImpl::AddOrUpdateFrameEntry(FrameTreeNode* frame_tree_node,
+ int64 item_sequence_number,
+ int64 document_sequence_number,
SiteInstanceImpl* site_instance,
const GURL& url,
const Referrer& referrer,
@@ -528,7 +531,9 @@ void NavigationEntryImpl::AddOrUpdateFrameEntry(FrameTreeNode* frame_tree_node,
for (TreeNode* child : parent_node->children) {
if (child->frame_entry->frame_tree_node_id() == frame_tree_node_id) {
// Update the existing FrameNavigationEntry (e.g., for replaceState).
- child->frame_entry->UpdateEntry(site_instance, url, referrer, page_state);
+ child->frame_entry->UpdateEntry(item_sequence_number,
+ document_sequence_number, site_instance,
+ url, referrer, page_state);
return;
}
}
@@ -539,14 +544,17 @@ void NavigationEntryImpl::AddOrUpdateFrameEntry(FrameTreeNode* frame_tree_node,
if (url == GURL(url::kAboutBlankURL))
return;
FrameNavigationEntry* frame_entry = new FrameNavigationEntry(
- frame_tree_node_id, site_instance, url, referrer);
+ frame_tree_node_id, item_sequence_number, document_sequence_number,
+ site_instance, url, referrer);
frame_entry->set_page_state(page_state);
parent_node->children.push_back(
new NavigationEntryImpl::TreeNode(frame_entry));
}
-bool NavigationEntryImpl::HasFrameEntry(FrameTreeNode* frame_tree_node) const {
- return FindFrameEntry(frame_tree_node) != nullptr;
+FrameNavigationEntry* NavigationEntryImpl::GetFrameEntry(
+ FrameTreeNode* frame_tree_node) const {
+ NavigationEntryImpl::TreeNode* tree_node = FindFrameEntry(frame_tree_node);
+ return tree_node ? tree_node->frame_entry.get() : nullptr;
}
void NavigationEntryImpl::SetScreenshotPNGData(

Powered by Google App Engine
This is Rietveld 408576698