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

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

Issue 2496193002: Implement transfer navigation with mojo (Closed)
Patch Set: rebase 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 c54cebb0a3ed61d96c65a7522daa62594acc159d..a9f2ec584995c68a8f5972d0d3a5e7fae9a8e121 100644
--- a/content/browser/loader/resource_request_info_impl.h
+++ b/content/browser/loader/resource_request_info_impl.h
@@ -8,6 +8,7 @@
#include <memory>
#include <string>
+#include "base/callback.h"
#include "base/gtest_prod_util.h"
#include "base/macros.h"
#include "base/memory/ref_counted.h"
@@ -15,6 +16,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"
@@ -33,6 +35,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);
@@ -123,7 +129,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,
clamy 2016/11/16 16:38:53 I don't think ResourceRequestInfo is the right pla
yhirano 2016/11/17 15:23:19 Thanks. How about having a callback in NavigatorRe
clamy 2016/11/21 17:55:54 Ok after seeing the other patchset, I think the ve
yhirano 2016/11/22 08:12:55 Done. Unfortunately, ResourceRequestInfoImpl doesn
+ 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
@@ -208,6 +216,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);
@@ -252,6 +264,7 @@ class ResourceRequestInfoImpl : public ResourceRequestInfo,
bool initiated_in_secure_context_;
std::unique_ptr<NavigationUIData> navigation_ui_data_;
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context_;
+ TransferCallback on_transfer_;
DISALLOW_COPY_AND_ASSIGN(ResourceRequestInfoImpl);
};

Powered by Google App Engine
This is Rietveld 408576698