summaryrefslogtreecommitdiffstats
path: root/content/public/browser/resource_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'content/public/browser/resource_context.h')
-rw-r--r--content/public/browser/resource_context.h44
1 files changed, 24 insertions, 20 deletions
diff --git a/content/public/browser/resource_context.h b/content/public/browser/resource_context.h
index 7ad6097..94b36fc 100644
--- a/content/public/browser/resource_context.h
+++ b/content/public/browser/resource_context.h
@@ -6,28 +6,32 @@
#define CONTENT_PUBLIC_BROWSER_RESOURCE_CONTEXT_H_
#include "base/basictypes.h"
+#include "base/supports_user_data.h"
+#include "content/common/content_export.h"
class AudioManager;
-class ChromeAppCacheService;
-class ChromeBlobStorageContext;
class MediaObserver;
-class WebKitContext;
+
+namespace appcache {
+class AppCacheService;
+}
+
namespace fileapi {
class FileSystemContext;
-} // namespace fileapi
+}
+
namespace media_stream {
class MediaStreamManager;
-} // namespace media_stream
+}
+
namespace net {
class HostResolver;
class URLRequestContext;
-} // namespace net
-namespace quota {
-class QuotaManager;
-}; // namespace quota
-namespace webkit_database {
-class DatabaseTracker;
-} // namespace webkit_database
+}
+
+namespace webkit_blob {
+class BlobStorageController;
+}
namespace content {
@@ -36,22 +40,22 @@ class HostZoomMap;
// ResourceContext contains the relevant context information required for
// resource loading. It lives on the IO thread, although it is constructed on
// the UI thread.
-class ResourceContext {
+class CONTENT_EXPORT ResourceContext : public base::SupportsUserData {
public:
- virtual ~ResourceContext() {}
+ static appcache::AppCacheService* GetAppCacheService(
+ ResourceContext* resource_context);
+ static fileapi::FileSystemContext* GetFileSystemContext(
+ ResourceContext* resource_context);
+ static webkit_blob::BlobStorageController* GetBlobStorageController(
+ ResourceContext* resource_context);
+ virtual ~ResourceContext() {}
virtual net::HostResolver* GetHostResolver() = 0;
virtual net::URLRequestContext* GetRequestContext() = 0;
- virtual ChromeAppCacheService* GetAppCacheService() = 0;
- virtual webkit_database::DatabaseTracker* GetDatabaseTracker() = 0;
- virtual fileapi::FileSystemContext* GetFileSystemContext() = 0;
- virtual ChromeBlobStorageContext* GetBlobStorageContext() = 0;
- virtual quota::QuotaManager* GetQuotaManager() = 0;
virtual HostZoomMap* GetHostZoomMap() = 0;
virtual MediaObserver* GetMediaObserver() = 0;
virtual media_stream::MediaStreamManager* GetMediaStreamManager() = 0;
virtual AudioManager* GetAudioManager() = 0;
- virtual WebKitContext* GetWebKitContext() = 0;
};
} // namespace content