Index: content/browser/web_contents/web_contents_impl.cc |
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc |
index 9842629f07d345d10fe57c671e7576deb343bfdd..b6f8ed735d9bf13c7d913342a8f7fb2da7ddaeac 100644 |
--- a/content/browser/web_contents/web_contents_impl.cc |
+++ b/content/browser/web_contents/web_contents_impl.cc |
@@ -4334,7 +4334,6 @@ void WebContentsImpl::RenderViewDeleted(RenderViewHost* rvh) { |
} |
void WebContentsImpl::UpdateState(RenderViewHost* rvh, |
- int32_t page_id, |
const PageState& page_state) { |
DCHECK(!SiteIsolationPolicy::UseSubframeNavigationEntries()); |
@@ -4344,27 +4343,17 @@ void WebContentsImpl::UpdateState(RenderViewHost* rvh, |
if (rvh->GetDelegate()->GetAsWebContents() != this) |
return; |
- // We must be prepared to handle state updates for any page. They occur |
- // when the user is scrolling and entering form data, as well as when we're |
- // leaving a page, in which case our state may have already been moved to |
- // the next page. The navigation controller will look up the appropriate |
- // NavigationEntry and update it when it is notified via the delegate. |
- RenderViewHostImpl* rvhi = static_cast<RenderViewHostImpl*>(rvh); |
- NavigationEntryImpl* entry = controller_.GetEntryWithPageID( |
- rvhi->GetSiteInstance(), page_id); |
- if (!entry) |
+ if (!rvh->GetMainFrame()) { |
+ // When UseSubframeNavigationEntries is turned off, state updates only come |
+ // in on main frames. When UseSubframeNavigationEntries is turned on, |
+ // UpdateStateForFrame() should have been called rather than this function. |
+ NOTREACHED(); |
return; |
- |
- // Sanity check that ensures nav_entry_id and page_id point to the same |
- // navigation entry. |
- if (rvhi->GetMainFrame()) { |
- NavigationEntryImpl* new_entry = controller_.GetEntryWithUniqueID( |
- static_cast<RenderFrameHostImpl*>(rvhi->GetMainFrame()) |
- ->nav_entry_id()); |
- |
- DCHECK_EQ(entry, new_entry); |
} |
+ NavigationEntryImpl* entry = controller_.GetEntryWithUniqueID( |
+ static_cast<RenderFrameHostImpl*>(rvh->GetMainFrame())->nav_entry_id()); |
+ |
if (page_state == entry->GetPageState()) |
return; // Nothing to update. |
entry->SetPageState(page_state); |
@@ -4587,7 +4576,6 @@ void WebContentsImpl::UpdateStateForFrame(RenderFrameHost* render_frame_host, |
} |
void WebContentsImpl::UpdateTitle(RenderFrameHost* render_frame_host, |
- int32_t page_id, |
const base::string16& title, |
base::i18n::TextDirection title_direction) { |
// If we have a title, that's a pretty good indication that we've started |
@@ -4596,20 +4584,8 @@ void WebContentsImpl::UpdateTitle(RenderFrameHost* render_frame_host, |
// Try to find the navigation entry, which might not be the current one. |
// For example, it might be from a recently swapped out RFH. |
- NavigationEntryImpl* entry = controller_.GetEntryWithPageID( |
- render_frame_host->GetSiteInstance(), page_id); |
- |
- NavigationEntryImpl* new_entry = controller_.GetEntryWithUniqueID( |
+ NavigationEntryImpl* entry = controller_.GetEntryWithUniqueID( |
static_cast<RenderFrameHostImpl*>(render_frame_host)->nav_entry_id()); |
- if (SiteIsolationPolicy::AreCrossProcessFramesPossible()) { |
- // In out-of-process iframe enabled modes, page_id can't keep track of |
- // navigations in other processes, so we must use nav_entry_id. |
- // TODO(creis): Switch to use this as the default. |
- entry = new_entry; |
- } |
- // (In modes that have no out-of-process iframes, nav_entry_id and page_id |
- // will usually agree on which entry to update, but may disagree if commits |
- // from a previous RFH have been ignored, resetting the RFH's nav_entry_id.) |
// We can handle title updates when we don't have an entry in |
// UpdateTitleForEntry, but only if the update is from the current RVH. |