| 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 2e6a5f7556dd8378d2b796a9d676fa9c9ce0472c..a53df71f9cc9964116934877c2a7f6e400b11b0f 100644
|
| --- a/content/browser/web_contents/web_contents_impl.cc
|
| +++ b/content/browser/web_contents/web_contents_impl.cc
|
| @@ -3646,8 +3646,7 @@ void WebContentsImpl::UpdateState(RenderViewHost* rvh,
|
| // TODO(nasko): This should go through RenderFrameHost.
|
| // TODO(creis): We can't update state for cross-process subframes until we
|
| // have FrameNavigationEntries. Once we do, this should be a DCHECK.
|
| - if (rvh->GetDelegate()->GetAsWebContents() != this)
|
| - return;
|
| + CHECK_EQ(rvh->GetDelegate()->GetAsWebContents(), this);
|
|
|
| // We must be prepared to handle state updates for any page, these occur
|
| // when the user is scrolling and entering form data, as well as when we're
|
| @@ -3657,10 +3656,14 @@ void WebContentsImpl::UpdateState(RenderViewHost* rvh,
|
|
|
| int entry_index = controller_.GetEntryIndexWithPageID(
|
| rvh->GetSiteInstance(), page_id);
|
| - if (entry_index < 0)
|
| - return;
|
| + CHECK_GE(entry_index, 0);
|
| NavigationEntry* entry = controller_.GetEntryAtIndex(entry_index);
|
|
|
| + // Re http://crbug.com/369661, page id is going away. This function should
|
| + // only ever be called for the current entry. When this is verified, this
|
| + // function can be greatly simplified.
|
| + CHECK_EQ(entry, controller_.GetLastCommittedEntry());
|
| +
|
| if (page_state == entry->GetPageState())
|
| return; // Nothing to update.
|
| entry->SetPageState(page_state);
|
|
|