Index: content/browser/frame_host/render_frame_host_impl.cc |
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc |
index ca9ab7ed67face1bf0f58fe349dab9bf6216d90a..15b860d93a88982267ff4970c754d4bc44c95ad4 100644 |
--- a/content/browser/frame_host/render_frame_host_impl.cc |
+++ b/content/browser/frame_host/render_frame_host_impl.cc |
@@ -346,7 +346,7 @@ bool RenderFrameHostImpl::OnMessageReceived(const IPC::Message &msg) { |
IPC_MESSAGE_HANDLER(FrameHostMsg_DidFailLoadWithError, |
OnDidFailLoadWithError) |
IPC_MESSAGE_HANDLER_GENERIC(FrameHostMsg_DidCommitProvisionalLoad, |
- OnNavigate(msg)) |
+ OnDidCommitProvisionalLoad(msg)) |
IPC_MESSAGE_HANDLER(FrameHostMsg_OpenURL, OnOpenURL) |
IPC_MESSAGE_HANDLER(FrameHostMsg_DocumentOnLoadCompleted, |
OnDocumentOnLoadCompleted) |
@@ -362,6 +362,7 @@ bool RenderFrameHostImpl::OnMessageReceived(const IPC::Message &msg) { |
IPC_MESSAGE_HANDLER(FrameHostMsg_DidAccessInitialDocument, |
OnDidAccessInitialDocument) |
IPC_MESSAGE_HANDLER(FrameHostMsg_DidDisownOpener, OnDidDisownOpener) |
+ IPC_MESSAGE_HANDLER(FrameHostMsg_DidAssignPageId, OnDidAssignPageId) |
IPC_MESSAGE_HANDLER(FrameHostMsg_UpdateTitle, OnUpdateTitle) |
IPC_MESSAGE_HANDLER(FrameHostMsg_UpdateEncoding, OnUpdateEncoding) |
IPC_MESSAGE_HANDLER(FrameHostMsg_BeginNavigation, |
@@ -588,7 +589,7 @@ void RenderFrameHostImpl::OnDidRedirectProvisionalLoad( |
// level frame. If the user explicitly requests a subframe navigation, we will |
// get a new page_id because we need to create a new navigation entry for that |
// action. |
-void RenderFrameHostImpl::OnNavigate(const IPC::Message& msg) { |
+void RenderFrameHostImpl::OnDidCommitProvisionalLoad(const IPC::Message& msg) { |
// Read the parameters out of the IPC message directly to avoid making another |
// copy when we filter the URLs. |
PickleIterator iter(msg); |
@@ -596,7 +597,7 @@ void RenderFrameHostImpl::OnNavigate(const IPC::Message& msg) { |
if (!IPC::ParamTraits<FrameHostMsg_DidCommitProvisionalLoad_Params>:: |
Read(&msg, &iter, &validated_params)) |
return; |
- TRACE_EVENT1("navigation", "RenderFrameHostImpl::OnNavigate", |
+ TRACE_EVENT1("navigation", "RenderFrameHostImpl::OnDidCommitProvisionalLoad", |
"url", validated_params.url.possibly_invalid_spec()); |
// If we're waiting for a cross-site beforeunload ack from this renderer and |
@@ -745,13 +746,13 @@ void RenderFrameHostImpl::OnBeforeUnloadACK( |
render_view_host_->decrement_in_flight_event_count(); |
render_view_host_->StopHangMonitorTimeout(); |
// If this renderer navigated while the beforeunload request was in flight, we |
- // may have cleared this state in OnNavigate, in which case we can ignore |
- // this message. |
+ // may have cleared this state in OnDidCommitProvisionalLoad, in which case we |
+ // can ignore this message. |
// However renderer might also be swapped out but we still want to proceed |
// with navigation, otherwise it would block future navigations. This can |
// happen when pending cross-site navigation is canceled by a second one just |
- // before OnNavigate while current RVH is waiting for commit but second |
- // navigation is started from the beginning. |
+ // before OnDidCommitProvisionalLoad while current RVH is waiting for commit |
+ // but second navigation is started from the beginning. |
if (!render_view_host_->is_waiting_for_beforeunload_ack_) { |
return; |
} |
@@ -928,6 +929,12 @@ void RenderFrameHostImpl::OnDidDisownOpener() { |
delegate_->DidDisownOpener(this); |
} |
+void RenderFrameHostImpl::OnDidAssignPageId(int32 page_id) { |
+ // Update the RVH's current page ID so that future IPCs from the renderer |
+ // correspond to the new page. |
+ render_view_host_->page_id_ = page_id; |
+} |
+ |
void RenderFrameHostImpl::OnUpdateTitle( |
int32 page_id, |
const base::string16& title, |