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

Side by Side Diff: content/browser/frame_host/navigation_request.cc

Issue 2813243002: network service: pass PlzNavigate resulting data via mojo data pipe (Closed)
Patch Set: ahem Created 3 years, 8 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/browser/frame_host/navigation_request.h" 5 #include "content/browser/frame_host/navigation_request.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "content/browser/appcache/appcache_navigation_handle.h" 10 #include "content/browser/appcache/appcache_navigation_handle.h"
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 common_params_.url, common_params_.method, common_params_.referrer.url, 501 common_params_.url, common_params_.method, common_params_.referrer.url,
502 is_external_protocol, response->head.headers, 502 is_external_protocol, response->head.headers,
503 response->head.connection_info, 503 response->head.connection_info,
504 base::Bind(&NavigationRequest::OnRedirectChecksComplete, 504 base::Bind(&NavigationRequest::OnRedirectChecksComplete,
505 base::Unretained(this))); 505 base::Unretained(this)));
506 } 506 }
507 507
508 void NavigationRequest::OnResponseStarted( 508 void NavigationRequest::OnResponseStarted(
509 const scoped_refptr<ResourceResponse>& response, 509 const scoped_refptr<ResourceResponse>& response,
510 std::unique_ptr<StreamHandle> body, 510 std::unique_ptr<StreamHandle> body,
511 mojo::ScopedDataPipeConsumerHandle consumer_handle,
511 const SSLStatus& ssl_status, 512 const SSLStatus& ssl_status,
512 std::unique_ptr<NavigationData> navigation_data, 513 std::unique_ptr<NavigationData> navigation_data,
513 const GlobalRequestID& request_id, 514 const GlobalRequestID& request_id,
514 bool is_download, 515 bool is_download,
515 bool is_stream) { 516 bool is_stream) {
516 DCHECK(state_ == STARTED); 517 DCHECK(state_ == STARTED);
517 DCHECK(response); 518 DCHECK(response);
518 state_ = RESPONSE_STARTED; 519 state_ = RESPONSE_STARTED;
519 520
520 // Check if the response should be sent to a renderer. 521 // Check if the response should be sent to a renderer.
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 return; 574 return;
574 } 575 }
575 } 576 }
576 577
577 if (navigation_data) 578 if (navigation_data)
578 navigation_handle_->set_navigation_data(std::move(navigation_data)); 579 navigation_handle_->set_navigation_data(std::move(navigation_data));
579 580
580 // Store the response and the StreamHandle until checks have been processed. 581 // Store the response and the StreamHandle until checks have been processed.
581 response_ = response; 582 response_ = response;
582 body_ = std::move(body); 583 body_ = std::move(body);
584 handle_ = std::move(consumer_handle);
583 585
584 // Check if the navigation should be allowed to proceed. 586 // Check if the navigation should be allowed to proceed.
585 navigation_handle_->WillProcessResponse( 587 navigation_handle_->WillProcessResponse(
586 render_frame_host, response->head.headers.get(), 588 render_frame_host, response->head.headers.get(),
587 response->head.connection_info, ssl_status, request_id, 589 response->head.connection_info, ssl_status, request_id,
588 common_params_.should_replace_current_entry, is_download, is_stream, 590 common_params_.should_replace_current_entry, is_download, is_stream,
589 base::Closure(), 591 base::Closure(),
590 base::Bind(&NavigationRequest::OnWillProcessResponseChecksComplete, 592 base::Bind(&NavigationRequest::OnWillProcessResponseChecksComplete,
591 base::Unretained(this))); 593 base::Unretained(this)));
592 } 594 }
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
833 DCHECK(render_frame_host == 835 DCHECK(render_frame_host ==
834 frame_tree_node_->render_manager()->current_frame_host() || 836 frame_tree_node_->render_manager()->current_frame_host() ||
835 render_frame_host == 837 render_frame_host ==
836 frame_tree_node_->render_manager()->speculative_frame_host()); 838 frame_tree_node_->render_manager()->speculative_frame_host());
837 839
838 TransferNavigationHandleOwnership(render_frame_host); 840 TransferNavigationHandleOwnership(render_frame_host);
839 841
840 DCHECK_EQ(request_params_.has_user_gesture, begin_params_.has_user_gesture); 842 DCHECK_EQ(request_params_.has_user_gesture, begin_params_.has_user_gesture);
841 843
842 render_frame_host->CommitNavigation(response_.get(), std::move(body_), 844 render_frame_host->CommitNavigation(response_.get(), std::move(body_),
843 common_params_, request_params_, 845 std::move(handle_), common_params_,
844 is_view_source_); 846 request_params_, is_view_source_);
845 847
846 frame_tree_node_->ResetNavigationRequest(true, true); 848 frame_tree_node_->ResetNavigationRequest(true, true);
847 } 849 }
848 850
849 } // namespace content 851 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/navigation_request.h ('k') | content/browser/frame_host/navigator_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698