| 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 2b5cc426ef60715e1e7cadb37698a4a7359954d6..5740af67acbee9231ed9620e601cc8be1848aa9a 100644
|
| --- a/content/browser/frame_host/navigator_impl.cc
|
| +++ b/content/browser/frame_host/navigator_impl.cc
|
| @@ -511,7 +511,8 @@ bool NavigatorImpl::NavigateNewChildFrame(
|
|
|
| void NavigatorImpl::DidNavigate(
|
| RenderFrameHostImpl* render_frame_host,
|
| - const FrameHostMsg_DidCommitProvisionalLoad_Params& params) {
|
| + const FrameHostMsg_DidCommitProvisionalLoad_Params& params,
|
| + std::unique_ptr<NavigationHandleImpl> navigation_handle) {
|
| FrameTree* frame_tree = render_frame_host->frame_tree_node()->frame_tree();
|
| bool oopifs_possible = SiteIsolationPolicy::AreCrossProcessFramesPossible();
|
|
|
| @@ -618,7 +619,8 @@ void NavigatorImpl::DidNavigate(
|
| int old_entry_count = controller_->GetEntryCount();
|
| LoadCommittedDetails details;
|
| bool did_navigate = controller_->RendererDidNavigate(
|
| - render_frame_host, params, &details, is_navigation_within_page);
|
| + render_frame_host, params, &details, is_navigation_within_page,
|
| + navigation_handle.get());
|
|
|
| // If the history length and/or offset changed, update other renderers in the
|
| // FrameTree.
|
| @@ -667,9 +669,9 @@ void NavigatorImpl::DidNavigate(
|
| delegate_->DidCommitProvisionalLoad(render_frame_host,
|
| params.url,
|
| transition_type);
|
| - render_frame_host->navigation_handle()->DidCommitNavigation(
|
| - params, is_navigation_within_page, render_frame_host);
|
| - render_frame_host->SetNavigationHandle(nullptr);
|
| + navigation_handle->DidCommitNavigation(params, is_navigation_within_page,
|
| + render_frame_host);
|
| + navigation_handle.reset();
|
| }
|
|
|
| if (!did_navigate)
|
| @@ -1070,11 +1072,6 @@ void NavigatorImpl::LogBeforeUnloadTime(
|
| }
|
| }
|
|
|
| -NavigationHandleImpl* NavigatorImpl::GetNavigationHandleForFrameHost(
|
| - RenderFrameHostImpl* render_frame_host) {
|
| - return render_frame_host->navigation_handle();
|
| -}
|
| -
|
| void NavigatorImpl::DiscardPendingEntryIfNeeded(NavigationHandleImpl* handle) {
|
| // Racy conditions can cause a fail message to arrive after its corresponding
|
| // pending entry has been replaced by another navigation. If
|
|
|