Index: content/browser/frame_host/navigator_impl.cc |
diff --git a/content/browser/frame_host/navigator_impl.cc b/content/browser/frame_host/navigator_impl.cc |
index 6afb53557d27cc587d113398d3a48b0f2072e129..546b119998156517090926bdd6a008662d2bfe13 100644 |
--- a/content/browser/frame_host/navigator_impl.cc |
+++ b/content/browser/frame_host/navigator_impl.cc |
@@ -435,16 +435,16 @@ |
if (!entry) |
return false; |
- // TODO(creis): Remove unique_name from the IPC, now that we can rely on the |
- // replication state. |
- DCHECK_EQ(render_frame_host->frame_tree_node() |
- ->current_replication_state() |
- .unique_name, |
- unique_name); |
FrameNavigationEntry* frame_entry = |
- entry->GetFrameEntry(render_frame_host->frame_tree_node()); |
+ entry->GetFrameEntryByUniqueName(unique_name); |
if (!frame_entry) |
return false; |
+ |
+ // Update the FrameNavigationEntry's FrameTreeNode ID (which is currently the |
+ // ID of the old FrameTreeNode that no longer exists) to be the ID of the |
+ // newly created frame. |
+ frame_entry->set_frame_tree_node_id( |
+ render_frame_host->frame_tree_node()->frame_tree_node_id()); |
return NavigateToEntry(render_frame_host->frame_tree_node(), *frame_entry, |
*entry, NavigationControllerImpl::NO_RELOAD, false, |