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

Unified Diff: content/browser/appcache/appcache_request_handler.h

Issue 2956373002: Add support for subresource request loads in AppCache for the network service. (Closed)
Patch Set: Use the precreated AppCacheHost from the AppCacheNavigationHandleCore instance. Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/appcache/appcache_request_handler.h
diff --git a/content/browser/appcache/appcache_request_handler.h b/content/browser/appcache/appcache_request_handler.h
index 9fa39391b554398ad6926e52e70514e9f6045044..69bfaa11d3522fdd719c21229a53db26a5a97887 100644
--- a/content/browser/appcache/appcache_request_handler.h
+++ b/content/browser/appcache/appcache_request_handler.h
@@ -16,6 +16,7 @@
#include "content/browser/appcache/appcache_entry.h"
#include "content/browser/appcache/appcache_host.h"
#include "content/browser/appcache/appcache_service_impl.h"
+#include "content/browser/appcache/appcache_subresource_url_factory.h"
#include "content/browser/loader/url_loader_request_handler.h"
#include "content/browser/url_loader_factory_getter.h"
#include "content/common/content_export.h"
@@ -32,7 +33,7 @@ class AppCacheNavigationHandleCore;
class AppCacheRequest;
class AppCacheRequestHandlerTest;
class AppCacheURLRequestJob;
-struct ResourceRequest;
+class AppCacheHost;
// An instance is created for each net::URLRequest. The instance survives all
// http transactions involved in the processing of its net::URLRequest, and is
@@ -80,6 +81,17 @@ class CONTENT_EXPORT AppCacheRequestHandler
AppCacheNavigationHandleCore* appcache_handle_core,
URLLoaderFactoryGetter* url_loader_factory_getter);
+ // The following setters only apply for the network service code.
+ void set_network_url_loader_factory_getter(
+ URLLoaderFactoryGetter* url_loader_factory_getter) {
+ network_url_loader_factory_getter_ = url_loader_factory_getter;
+ }
+
+ void set_subresource_request_load_info(
+ std::unique_ptr<SubresourceLoadInfo> subresource_load_info) {
+ subresource_load_info_ = std::move(subresource_load_info);
+ }
+
private:
friend class AppCacheHost;
@@ -152,11 +164,6 @@ class CONTENT_EXPORT AppCacheRequestHandler
LoaderCallback callback) override;
mojom::URLLoaderFactoryPtr MaybeCreateSubresourceFactory() override;
- void set_network_url_loader_factory_getter(
- URLLoaderFactoryGetter* url_loader_factory_getter) {
- network_url_loader_factory_getter_ = url_loader_factory_getter;
- }
-
// Data members -----------------------------------------------
// What host we're servicing a request for.
@@ -217,6 +224,8 @@ class CONTENT_EXPORT AppCacheRequestHandler
std::unique_ptr<AppCacheRequest> request_;
+ // Network service related members.
+
// In the network service world we are queried via the URLLoaderRequestHandler
// interface to see if the navigation request can be handled via the
// AppCache. We hold onto the AppCache job created here until the client
@@ -230,6 +239,13 @@ class CONTENT_EXPORT AppCacheRequestHandler
friend class content::AppCacheRequestHandlerTest;
+ // Subresource load information.
+ std::unique_ptr<SubresourceLoadInfo> subresource_load_info_;
+
+ // The AppCache host instance. We pass this to the
+ // AppCacheSubresourceURLFactory instance on creation.
+ base::WeakPtr<AppCacheHost> appcache_host_;
+
DISALLOW_COPY_AND_ASSIGN(AppCacheRequestHandler);
};

Powered by Google App Engine
This is Rietveld 408576698