| 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 c74358bcadd1d19768fcee8e70b7d95ac3c16908..1b6e52e189a6cdf4592af5e0e67201ffe8552939 100644
|
| --- a/content/browser/frame_host/navigator_impl.cc
|
| +++ b/content/browser/frame_host/navigator_impl.cc
|
| @@ -9,7 +9,6 @@
|
| #include "base/time/time.h"
|
| #include "content/browser/frame_host/frame_tree.h"
|
| #include "content/browser/frame_host/frame_tree_node.h"
|
| -#include "content/browser/frame_host/navigation_before_commit_info.h"
|
| #include "content/browser/frame_host/navigation_controller_impl.h"
|
| #include "content/browser/frame_host/navigation_entry_impl.h"
|
| #include "content/browser/frame_host/navigation_request.h"
|
| @@ -30,6 +29,7 @@
|
| #include "content/public/browser/navigation_details.h"
|
| #include "content/public/browser/page_navigator.h"
|
| #include "content/public/browser/render_view_host.h"
|
| +#include "content/public/browser/stream_handle.h"
|
| #include "content/public/common/bindings_policy.h"
|
| #include "content/public/common/content_client.h"
|
| #include "content/public/common/content_switches.h"
|
| @@ -730,33 +730,24 @@ void NavigatorImpl::OnBeginNavigation(
|
| }
|
|
|
| // PlzNavigate
|
| -void NavigatorImpl::CommitNavigation(
|
| - FrameTreeNode* frame_tree_node,
|
| - const NavigationBeforeCommitInfo& info) {
|
| +void NavigatorImpl::CommitNavigation(FrameTreeNode* frame_tree_node,
|
| + ResourceResponse* response,
|
| + scoped_ptr<StreamHandle> body) {
|
| CHECK(CommandLine::ForCurrentProcess()->HasSwitch(
|
| switches::kEnableBrowserSideNavigation));
|
| NavigationRequest* navigation_request =
|
| navigation_request_map_.get(frame_tree_node->frame_tree_node_id());
|
| DCHECK(navigation_request);
|
|
|
| - // Ignores navigation commits if the request ID doesn't match the current
|
| - // active request.
|
| - if (navigation_request->navigation_request_id() !=
|
| - info.navigation_request_id) {
|
| - return;
|
| - }
|
| -
|
| - // Update the navigation url.
|
| - navigation_request->common_params().url = info.navigation_url;
|
| -
|
| // Select an appropriate renderer to commit the navigation.
|
| RenderFrameHostImpl* render_frame_host =
|
| frame_tree_node->render_manager()->GetFrameHostForNavigation(
|
| - info.navigation_url, navigation_request->common_params().transition);
|
| + navigation_request->common_params().url,
|
| + navigation_request->common_params().transition);
|
| CheckWebUIRendererDoesNotDisplayNormalURL(
|
| render_frame_host, navigation_request->common_params().url);
|
|
|
| - render_frame_host->CommitNavigation(info.stream_url,
|
| + render_frame_host->CommitNavigation(response, body.Pass(),
|
| navigation_request->common_params(),
|
| navigation_request->commit_params());
|
| }
|
| @@ -769,7 +760,6 @@ void NavigatorImpl::CancelNavigation(FrameTreeNode* frame_tree_node) {
|
| navigation_request_map_.get(frame_tree_node->frame_tree_node_id());
|
| if (!navigation_request)
|
| return;
|
| - navigation_request->CancelNavigation();
|
| navigation_request_map_.erase(frame_tree_node->frame_tree_node_id());
|
| }
|
|
|
| @@ -812,7 +802,7 @@ bool NavigatorImpl::RequestNavigation(
|
| FrameMsg_Navigate_Type::Value navigation_type =
|
| GetNavigationType(controller_->GetBrowserContext(), entry, reload_type);
|
| scoped_ptr<NavigationRequest> navigation_request(new NavigationRequest(
|
| - frame_tree_node_id,
|
| + controller_->GetBrowserContext(), frame_tree_node,
|
| CommonNavigationParams(entry.GetURL(),
|
| entry.GetReferrer(),
|
| entry.GetTransitionType(),
|
| @@ -827,17 +817,12 @@ bool NavigatorImpl::RequestNavigation(
|
| // TODO(clamy): Check if navigations are blocked and if so store the
|
| // parameters.
|
|
|
| - // If there is an ongoing request it must be canceled.
|
| - NavigationRequest* current_request =
|
| - navigation_request_map_.get(frame_tree_node_id);
|
| - if (current_request) {
|
| - current_request->CancelNavigation();
|
| - }
|
| -
|
| + // If there is an ongoing request, replace it.
|
| navigation_request_map_.set(frame_tree_node_id, navigation_request.Pass());
|
|
|
| if (frame_tree_node->current_frame_host()->IsRenderFrameLive()) {
|
| // TODO(clamy): send a RequestNavigation IPC.
|
| + NOTIMPLEMENTED();
|
| return true;
|
| }
|
|
|
|
|