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

Unified Diff: content/browser/loader/resource_request_info_impl.h

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_request_info_impl.h
diff --git a/content/browser/loader/resource_request_info_impl.h b/content/browser/loader/resource_request_info_impl.h
index 97cc7198960a0a171c24e5a3992d115a2405be8a..c491732145e5bf7394d6f8559f8ed4ead7da68b4 100644
--- a/content/browser/loader/resource_request_info_impl.h
+++ b/content/browser/loader/resource_request_info_impl.h
@@ -9,6 +9,7 @@
#include <string>
#include <utility>
+#include "base/callback.h"
#include "base/gtest_prod_util.h"
#include "base/macros.h"
#include "base/memory/ref_counted.h"
@@ -16,6 +17,7 @@
#include "base/supports_user_data.h"
#include "content/browser/service_worker/service_worker_context_wrapper.h"
#include "content/common/resource_request_body_impl.h"
+#include "content/common/url_loader.mojom.h"
#include "content/public/browser/navigation_ui_data.h"
#include "content/public/browser/resource_request_info.h"
#include "content/public/common/referrer.h"
@@ -34,6 +36,10 @@ struct GlobalRoutingID;
class ResourceRequestInfoImpl : public ResourceRequestInfo,
public base::SupportsUserData::Data {
public:
+ using TransferCallback =
+ base::Callback<void(mojom::URLLoaderAssociatedRequest,
+ mojom::URLLoaderClientAssociatedPtr)>;
+
// Returns the ResourceRequestInfoImpl associated with the given URLRequest.
CONTENT_EXPORT static ResourceRequestInfoImpl* ForRequest(
net::URLRequest* request);
@@ -124,7 +130,9 @@ class ResourceRequestInfoImpl : public ResourceRequestInfo,
int render_frame_id,
int origin_pid,
int request_id,
- base::WeakPtr<ResourceMessageFilter> filter);
+ base::WeakPtr<ResourceMessageFilter> filter,
+ mojom::URLLoaderAssociatedRequest url_loader_request,
+ mojom::URLLoaderClientAssociatedPtr url_loader_client);
// Whether this request is part of a navigation that should replace the
// current session history entry. This state is shuffled up and down the stack
@@ -209,6 +217,10 @@ class ResourceRequestInfoImpl : public ResourceRequestInfo,
return service_worker_context_.get();
}
+ void set_on_transfer(const TransferCallback& on_transfer) {
+ on_transfer_ = on_transfer;
+ }
+
private:
FRIEND_TEST_ALL_PREFIXES(ResourceDispatcherHostTest,
DeletedFilterDetached);
@@ -254,6 +266,11 @@ class ResourceRequestInfoImpl : public ResourceRequestInfo,
std::unique_ptr<NavigationUIData> navigation_ui_data_;
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context_;
+ // This callback is set by MojoAsyncResourceHandler to update its mojo binding
+ // and remote endpoint. This callback will be removed once PlzNavigate is
+ // shipped.
+ TransferCallback on_transfer_;
+
DISALLOW_COPY_AND_ASSIGN(ResourceRequestInfoImpl);
};
« no previous file with comments | « content/browser/loader/resource_dispatcher_host_impl.cc ('k') | content/browser/loader/resource_request_info_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698