Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 872473003: PlzNavigate: Remove the RequestNavigation IPC (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 double navigation_start_seconds = 454 double navigation_start_seconds =
455 (navigation_start - base::TimeTicks()).InSecondsF(); 455 (navigation_start - base::TimeTicks()).InSecondsF();
456 frame->provisionalDataSource()->setNavigationStartTime( 456 frame->provisionalDataSource()->setNavigationStartTime(
457 navigation_start_seconds); 457 navigation_start_seconds);
458 // TODO(clamy): We need to provide additional timing values for the 458 // TODO(clamy): We need to provide additional timing values for the
459 // Navigation Timing API to work with browser-side navigations. 459 // Navigation Timing API to work with browser-side navigations.
460 } 460 }
461 } 461 }
462 462
463 // PlzNavigate 463 // PlzNavigate
464 FrameHostMsg_BeginNavigation_Params MakeBeginNavigationParams(
465 blink::WebURLRequest* request) {
466 FrameHostMsg_BeginNavigation_Params params;
467 params.method = request->httpMethod().latin1();
468 params.headers = GetWebURLRequestHeaders(*request);
469 params.load_flags = GetLoadFlagsForWebURLRequest(*request);
470 params.request_body = GetRequestBodyForWebURLRequest(*request);
471 params.has_user_gesture = request->hasUserGesture();
472 return params;
473 }
474
475 // PlzNavigate
476 CommonNavigationParams MakeCommonNavigationParams( 464 CommonNavigationParams MakeCommonNavigationParams(
477 blink::WebURLRequest* request) { 465 blink::WebURLRequest* request) {
478 const RequestExtraData kEmptyData; 466 const RequestExtraData kEmptyData;
479 const RequestExtraData* extra_data = 467 const RequestExtraData* extra_data =
480 static_cast<RequestExtraData*>(request->extraData()); 468 static_cast<RequestExtraData*>(request->extraData());
481 if (!extra_data) 469 if (!extra_data)
482 extra_data = &kEmptyData; 470 extra_data = &kEmptyData;
483 CommonNavigationParams params; 471 CommonNavigationParams params;
484 params.url = request->url(); 472 params.url = request->url();
485 params.referrer = Referrer( 473 params.referrer = Referrer(
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after
1030 IPC_MESSAGE_HANDLER(FrameMsg_ShowTransitionElements, 1018 IPC_MESSAGE_HANDLER(FrameMsg_ShowTransitionElements,
1031 OnShowTransitionElements) 1019 OnShowTransitionElements)
1032 IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload) 1020 IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload)
1033 IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest, 1021 IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest,
1034 OnTextSurroundingSelectionRequest) 1022 OnTextSurroundingSelectionRequest)
1035 IPC_MESSAGE_HANDLER(FrameMsg_AddStyleSheetByURL, 1023 IPC_MESSAGE_HANDLER(FrameMsg_AddStyleSheetByURL,
1036 OnAddStyleSheetByURL) 1024 OnAddStyleSheetByURL)
1037 IPC_MESSAGE_HANDLER(FrameMsg_SetAccessibilityMode, 1025 IPC_MESSAGE_HANDLER(FrameMsg_SetAccessibilityMode,
1038 OnSetAccessibilityMode) 1026 OnSetAccessibilityMode)
1039 IPC_MESSAGE_HANDLER(FrameMsg_DisownOpener, OnDisownOpener) 1027 IPC_MESSAGE_HANDLER(FrameMsg_DisownOpener, OnDisownOpener)
1040 IPC_MESSAGE_HANDLER(FrameMsg_RequestNavigation, OnRequestNavigation)
1041 IPC_MESSAGE_HANDLER(FrameMsg_CommitNavigation, OnCommitNavigation) 1028 IPC_MESSAGE_HANDLER(FrameMsg_CommitNavigation, OnCommitNavigation)
1042 #if defined(OS_ANDROID) 1029 #if defined(OS_ANDROID)
1043 IPC_MESSAGE_HANDLER(FrameMsg_SelectPopupMenuItems, OnSelectPopupMenuItems) 1030 IPC_MESSAGE_HANDLER(FrameMsg_SelectPopupMenuItems, OnSelectPopupMenuItems)
1044 #elif defined(OS_MACOSX) 1031 #elif defined(OS_MACOSX)
1045 IPC_MESSAGE_HANDLER(FrameMsg_SelectPopupMenuItem, OnSelectPopupMenuItem) 1032 IPC_MESSAGE_HANDLER(FrameMsg_SelectPopupMenuItem, OnSelectPopupMenuItem)
1046 IPC_MESSAGE_HANDLER(InputMsg_CopyToFindPboard, OnCopyToFindPboard) 1033 IPC_MESSAGE_HANDLER(InputMsg_CopyToFindPboard, OnCopyToFindPboard)
1047 #endif 1034 #endif
1048 IPC_END_MESSAGE_MAP() 1035 IPC_END_MESSAGE_MAP()
1049 1036
1050 return handled; 1037 return handled;
(...skipping 2797 matching lines...) Expand 10 before | Expand all | Expand 10 after
3848 void RenderFrameImpl::FocusedNodeChanged(const WebNode& node) { 3835 void RenderFrameImpl::FocusedNodeChanged(const WebNode& node) {
3849 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, FocusedNodeChanged(node)); 3836 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, FocusedNodeChanged(node));
3850 } 3837 }
3851 3838
3852 void RenderFrameImpl::FocusedNodeChangedForAccessibility(const WebNode& node) { 3839 void RenderFrameImpl::FocusedNodeChangedForAccessibility(const WebNode& node) {
3853 if (renderer_accessibility()) 3840 if (renderer_accessibility())
3854 renderer_accessibility()->AccessibilityFocusedNodeChanged(node); 3841 renderer_accessibility()->AccessibilityFocusedNodeChanged(node);
3855 } 3842 }
3856 3843
3857 // PlzNavigate 3844 // PlzNavigate
3858 void RenderFrameImpl::OnRequestNavigation(
3859 const CommonNavigationParams& common_params,
3860 const RequestNavigationParams& request_params) {
3861 CHECK(base::CommandLine::ForCurrentProcess()->HasSwitch(
3862 switches::kEnableBrowserSideNavigation));
3863 WebURLRequest request =
3864 CreateURLRequestForNavigation(common_params,
3865 request_params,
3866 scoped_ptr<StreamOverrideParameters>(),
3867 frame_->isViewSourceModeEnabled());
3868 BeginNavigation(&request);
3869 }
3870
3871 // PlzNavigate
3872 void RenderFrameImpl::OnCommitNavigation( 3845 void RenderFrameImpl::OnCommitNavigation(
3873 const ResourceResponseHead& response, 3846 const ResourceResponseHead& response,
3874 const GURL& stream_url, 3847 const GURL& stream_url,
3875 const CommonNavigationParams& common_params, 3848 const CommonNavigationParams& common_params,
3876 const CommitNavigationParams& commit_params) { 3849 const CommitNavigationParams& commit_params) {
3877 CHECK(base::CommandLine::ForCurrentProcess()->HasSwitch( 3850 CHECK(base::CommandLine::ForCurrentProcess()->HasSwitch(
3878 switches::kEnableBrowserSideNavigation)); 3851 switches::kEnableBrowserSideNavigation));
3879 bool is_reload = false; 3852 bool is_reload = false;
3880 bool is_history_navigation = commit_params.page_state.IsValid(); 3853 bool is_history_navigation = commit_params.page_state.IsValid();
3881 WebURLRequest::CachePolicy cache_policy = 3854 WebURLRequest::CachePolicy cache_policy =
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
4366 // (devtools). 4339 // (devtools).
4367 // 4340 //
4368 // TODO(clamy): Apply devtools override. 4341 // TODO(clamy): Apply devtools override.
4369 // TODO(clamy): Make sure that navigation requests are not modified somewhere 4342 // TODO(clamy): Make sure that navigation requests are not modified somewhere
4370 // else in blink. 4343 // else in blink.
4371 willSendRequest(frame_, 0, *request, blink::WebURLResponse()); 4344 willSendRequest(frame_, 0, *request, blink::WebURLResponse());
4372 4345
4373 // TODO(clamy): Same-document navigations should not be sent back to the 4346 // TODO(clamy): Same-document navigations should not be sent back to the
4374 // browser. 4347 // browser.
4375 // TODO(clamy): Data urls should not be sent back to the browser either. 4348 // TODO(clamy): Data urls should not be sent back to the browser either.
4376 Send(new FrameHostMsg_BeginNavigation(routing_id_, 4349 Send(new FrameHostMsg_BeginNavigation(
4377 MakeBeginNavigationParams(request), 4350 routing_id_, MakeCommonNavigationParams(request),
4378 MakeCommonNavigationParams(request))); 4351 BeginNavigationParams(request->httpMethod().latin1(),
4352 GetWebURLRequestHeaders(*request),
4353 GetLoadFlagsForWebURLRequest(*request),
4354 request->hasUserGesture()),
4355 GetRequestBodyForWebURLRequest(*request)));
4379 } 4356 }
4380 4357
4381 GURL RenderFrameImpl::GetLoadingUrl() const { 4358 GURL RenderFrameImpl::GetLoadingUrl() const {
4382 WebDataSource* ds = frame_->dataSource(); 4359 WebDataSource* ds = frame_->dataSource();
4383 if (ds->hasUnreachableURL()) 4360 if (ds->hasUnreachableURL())
4384 return ds->unreachableURL(); 4361 return ds->unreachableURL();
4385 4362
4386 const WebURLRequest& request = ds->request(); 4363 const WebURLRequest& request = ds->request();
4387 return request.url(); 4364 return request.url();
4388 } 4365 }
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
4440 4417
4441 #if defined(ENABLE_BROWSER_CDMS) 4418 #if defined(ENABLE_BROWSER_CDMS)
4442 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 4419 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
4443 if (!cdm_manager_) 4420 if (!cdm_manager_)
4444 cdm_manager_ = new RendererCdmManager(this); 4421 cdm_manager_ = new RendererCdmManager(this);
4445 return cdm_manager_; 4422 return cdm_manager_;
4446 } 4423 }
4447 #endif // defined(ENABLE_BROWSER_CDMS) 4424 #endif // defined(ENABLE_BROWSER_CDMS)
4448 4425
4449 } // namespace content 4426 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698