| 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 797e4eb43ad6fec5d40bda6cb02c96791cc40e4a..1a55641cb0cbc7d1dfeb60d0cfd413f12035677b 100644
|
| --- a/content/browser/frame_host/render_frame_host_impl.cc
|
| +++ b/content/browser/frame_host/render_frame_host_impl.cc
|
| @@ -566,6 +566,8 @@ bool RenderFrameHostImpl::OnMessageReceived(const IPC::Message &msg) {
|
| OnDidCommitProvisionalLoad(msg))
|
| IPC_MESSAGE_HANDLER(FrameHostMsg_UpdateState, OnUpdateState)
|
| IPC_MESSAGE_HANDLER(FrameHostMsg_OpenURL, OnOpenURL)
|
| + IPC_MESSAGE_HANDLER(FrameHostMsg_CancelInitialHistoryLoad,
|
| + OnCancelInitialHistoryLoad)
|
| IPC_MESSAGE_HANDLER(FrameHostMsg_DocumentOnLoadCompleted,
|
| OnDocumentOnLoadCompleted)
|
| IPC_MESSAGE_HANDLER(FrameHostMsg_BeforeUnload_ACK, OnBeforeUnloadACK)
|
| @@ -972,6 +974,16 @@ void RenderFrameHostImpl::OnOpenURL(const FrameHostMsg_OpenURL_Params& params) {
|
| OpenURL(params, GetSiteInstance());
|
| }
|
|
|
| +void RenderFrameHostImpl::OnCancelInitialHistoryLoad() {
|
| + // A Javascript navigation interrupted the initial history load. Check if an
|
| + // initial subframe cross-process navigation needs to be canceled as a result.
|
| + // TODO(creis, clamy): Cancel any cross-process navigation in PlzNavigate.
|
| + if (GetParent() && !frame_tree_node_->has_committed_real_load() &&
|
| + frame_tree_node_->render_manager()->pending_frame_host()) {
|
| + frame_tree_node_->render_manager()->CancelPending();
|
| + }
|
| +}
|
| +
|
| void RenderFrameHostImpl::OnDocumentOnLoadCompleted(
|
| FrameMsg_UILoadMetricsReportType::Value report_type,
|
| base::TimeTicks ui_timestamp) {
|
|
|