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

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

Issue 2902653002: Get main frame and subframe AppCache loads to work. (Closed)
Patch Set: Another attempt at fixing redness 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_url_loader_factory.h
diff --git a/content/browser/appcache/appcache_url_loader_factory.h b/content/browser/appcache/appcache_url_loader_factory.h
index f61539519e6d22a0e698a3da521428d5ca104fe7..65e7ca55df7935a2abfbc1a7ca6d998f5250ecab 100644
--- a/content/browser/appcache/appcache_url_loader_factory.h
+++ b/content/browser/appcache/appcache_url_loader_factory.h
@@ -11,7 +11,9 @@
#include "url/gurl.h"
namespace content {
-class ChromeAppCacheService;
+
+class AppCacheJob;
+class AppCacheServiceImpl;
class URLLoaderFactoryGetter;
// Implements the URLLoaderFactory mojom for AppCache requests.
@@ -20,13 +22,12 @@ class AppCacheURLLoaderFactory : public mojom::URLLoaderFactory {
~AppCacheURLLoaderFactory() override;
// Factory function to create an instance of the factory.
- // The |appcache_service| parameter is used to query the underlying
- // AppCacheStorage instance to check if we can service requests from the
- // AppCache. We pass unhandled requests to the network service retrieved from
- // the |factory_getter|.
+ // 1. The |factory_getter| parameter is used to query the network service
+ // to pass network requests to.
+ // 2. The |url_loader_job| is valid only for navigation requests.
static void CreateURLLoaderFactory(mojom::URLLoaderFactoryRequest request,
- ChromeAppCacheService* appcache_service,
- URLLoaderFactoryGetter* factory_getter);
+ URLLoaderFactoryGetter* factory_getter,
+ AppCacheJob* url_loader_job);
// mojom::URLLoaderFactory implementation.
void CreateLoaderAndStart(
@@ -42,17 +43,17 @@ class AppCacheURLLoaderFactory : public mojom::URLLoaderFactory {
SyncLoadCallback callback) override;
private:
- AppCacheURLLoaderFactory(ChromeAppCacheService* appcache_service,
- URLLoaderFactoryGetter* factory_getter);
-
- // Used to query AppCacheStorage to see if a request can be served out of the
- /// AppCache.
- scoped_refptr<ChromeAppCacheService> appcache_service_;
+ AppCacheURLLoaderFactory(URLLoaderFactoryGetter* factory_getter,
+ AppCacheJob* url_loader_job);
// Used to retrieve the network service factory to pass unhandled requests to
// the network service.
scoped_refptr<URLLoaderFactoryGetter> factory_getter_;
+ // Only set for navigation requests. We release ownership when the client
+ // binds to us.
+ std::unique_ptr<AppCacheJob> url_loader_job_;
+
mojo::StrongBindingSet<mojom::URLLoaderFactory> loader_factory_bindings_;
DISALLOW_COPY_AND_ASSIGN(AppCacheURLLoaderFactory);

Powered by Google App Engine
This is Rietveld 408576698