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

Unified Diff: content/browser/loader/resource_loader.cc

Issue 2496193002: Implement transfer navigation with mojo (Closed)
Patch Set: fix Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/loader/resource_loader.cc
diff --git a/content/browser/loader/resource_loader.cc b/content/browser/loader/resource_loader.cc
index f2f670a566d55ed03d811df7269c241b66a3e1bf..ff96bfe7ba856b4d222ae689aec7da03371a25ea 100644
--- a/content/browser/loader/resource_loader.cc
+++ b/content/browser/loader/resource_loader.cc
@@ -198,7 +198,7 @@ void ResourceLoader::CancelWithError(int error_code) {
}
void ResourceLoader::MarkAsTransferring(
- const base::Closure& on_transfer_complete_callback) {
+ const TransferCallback& on_transfer_complete_callback) {
CHECK(IsResourceTypeFrame(GetRequestInfo()->GetResourceType()))
<< "Can only transfer for navigations";
is_transferring_ = true;
@@ -212,7 +212,9 @@ void ResourceLoader::MarkAsTransferring(
handler->PrepareForCrossSiteTransfer(child_id);
}
-void ResourceLoader::CompleteTransfer() {
+void ResourceLoader::CompleteTransfer(
+ mojom::URLLoaderAssociatedRequest mojo_request,
+ mojom::URLLoaderClientAssociatedPtr url_loader_client) {
// Although NavigationResourceThrottle defers at WillProcessResponse
// (DEFERRED_READ), it may be seeing a replay of events via
// MimeTypeResourceHandler, and so the request itself is actually deferred at
@@ -234,7 +236,8 @@ void ResourceLoader::CompleteTransfer() {
handler->MaybeCompleteCrossSiteTransferInOldProcess(child_id);
is_transferring_ = false;
- base::ResetAndReturn(&on_transfer_complete_callback_).Run();
+ base::ResetAndReturn(&on_transfer_complete_callback_)
+ .Run(std::move(mojo_request), std::move(url_loader_client));
}
ResourceRequestInfoImpl* ResourceLoader::GetRequestInfo() {

Powered by Google App Engine
This is Rietveld 408576698