Index: content/browser/storage_partition_impl.cc |
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc |
index 55f3c73cd4b184f9dc7533fa1f9518c61c2da44d..4ec2db715252edfee3d7abc2bd9e4989b36783bb 100644 |
--- a/content/browser/storage_partition_impl.cc |
+++ b/content/browser/storage_partition_impl.cc |
@@ -370,6 +370,7 @@ StoragePartitionImpl::StoragePartitionImpl( |
storage::DatabaseTracker* database_tracker, |
DOMStorageContextWrapper* dom_storage_context, |
IndexedDBContextImpl* indexed_db_context, |
+ CacheStorageContextImpl* cache_storage_context, |
ServiceWorkerContextWrapper* service_worker_context, |
WebRTCIdentityStore* webrtc_identity_store, |
storage::SpecialStoragePolicy* special_storage_policy, |
@@ -384,6 +385,7 @@ StoragePartitionImpl::StoragePartitionImpl( |
database_tracker_(database_tracker), |
dom_storage_context_(dom_storage_context), |
indexed_db_context_(indexed_db_context), |
+ cache_storage_context_(cache_storage_context), |
service_worker_context_(service_worker_context), |
webrtc_identity_store_(webrtc_identity_store), |
special_storage_policy_(special_storage_policy), |
@@ -415,6 +417,9 @@ StoragePartitionImpl::~StoragePartitionImpl() { |
if (GetServiceWorkerContext()) |
GetServiceWorkerContext()->Shutdown(); |
+ if (GetCacheStorageContext()) |
+ GetCacheStorageContext()->Shutdown(); |
+ |
if (GetGeofencingManager()) |
GetGeofencingManager()->Shutdown(); |
} |
@@ -472,10 +477,15 @@ StoragePartitionImpl* StoragePartitionImpl::Create( |
quota_manager->proxy(), |
idb_task_runner); |
+ scoped_refptr<CacheStorageContextImpl> cache_storage_context = |
+ new CacheStorageContextImpl(context); |
+ cache_storage_context->Init(path, quota_manager->proxy(), |
+ context->GetSpecialStoragePolicy()); |
+ |
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context = |
new ServiceWorkerContextWrapper(context); |
- service_worker_context->Init( |
- path, quota_manager->proxy(), context->GetSpecialStoragePolicy()); |
+ service_worker_context->Init(path, quota_manager->proxy(), |
+ context->GetSpecialStoragePolicy()); |
scoped_refptr<ChromeAppCacheService> appcache_service = |
new ChromeAppCacheService(quota_manager->proxy()); |
@@ -506,9 +516,10 @@ StoragePartitionImpl* StoragePartitionImpl::Create( |
context, partition_path, quota_manager.get(), appcache_service.get(), |
filesystem_context.get(), database_tracker.get(), |
dom_storage_context.get(), indexed_db_context.get(), |
- service_worker_context.get(), webrtc_identity_store.get(), |
- special_storage_policy.get(), geofencing_manager.get(), |
- host_zoom_level_context.get(), navigator_connect_context.get(), |
+ cache_storage_context.get(), service_worker_context.get(), |
+ webrtc_identity_store.get(), special_storage_policy.get(), |
+ geofencing_manager.get(), host_zoom_level_context.get(), |
+ navigator_connect_context.get(), |
platform_notification_context.get()); |
service_worker_context->set_storage_partition(storage_partition); |
@@ -553,6 +564,10 @@ IndexedDBContextImpl* StoragePartitionImpl::GetIndexedDBContext() { |
return indexed_db_context_.get(); |
} |
+CacheStorageContextImpl* StoragePartitionImpl::GetCacheStorageContext() { |
+ return cache_storage_context_.get(); |
+} |
+ |
ServiceWorkerContextWrapper* StoragePartitionImpl::GetServiceWorkerContext() { |
return service_worker_context_.get(); |
} |