| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "content/browser/shared_worker/worker_storage_partition.h" |
| |
| #include <string> |
| |
| #include "content/browser/appcache/chrome_appcache_service.h" |
| #include "content/browser/indexed_db/indexed_db_context_impl.h" |
| #include "content/browser/service_worker/service_worker_context_wrapper.h" |
| #include "net/url_request/url_request_context_getter.h" |
| #include "storage/browser/database/database_tracker.h" |
| #include "storage/browser/fileapi/file_system_context.h" |
| #include "storage/browser/quota/quota_manager.h" |
| |
| namespace content { |
| |
| WorkerStoragePartition::WorkerStoragePartition( |
| net::URLRequestContextGetter* url_request_context, |
| net::URLRequestContextGetter* media_url_request_context, |
| ChromeAppCacheService* appcache_service, |
| storage::QuotaManager* quota_manager, |
| storage::FileSystemContext* filesystem_context, |
| storage::DatabaseTracker* database_tracker, |
| IndexedDBContextImpl* indexed_db_context, |
| ServiceWorkerContextWrapper* service_worker_context) |
| : url_request_context_(url_request_context), |
| media_url_request_context_(media_url_request_context), |
| appcache_service_(appcache_service), |
| quota_manager_(quota_manager), |
| filesystem_context_(filesystem_context), |
| database_tracker_(database_tracker), |
| indexed_db_context_(indexed_db_context), |
| service_worker_context_(service_worker_context) { |
| } |
| |
| WorkerStoragePartition::WorkerStoragePartition( |
| const WorkerStoragePartition& other) { |
| Copy(other); |
| } |
| |
| const WorkerStoragePartition& WorkerStoragePartition::operator=( |
| const WorkerStoragePartition& rhs) { |
| Copy(rhs); |
| return *this; |
| } |
| |
| bool WorkerStoragePartition::Equals( |
| const WorkerStoragePartition& other) const { |
| return url_request_context_.get() == other.url_request_context_.get() && |
| media_url_request_context_.get() == |
| other.media_url_request_context_.get() && |
| appcache_service_.get() == other.appcache_service_.get() && |
| quota_manager_.get() == other.quota_manager_.get() && |
| filesystem_context_.get() == other.filesystem_context_.get() && |
| database_tracker_.get() == other.database_tracker_.get() && |
| indexed_db_context_.get() == other.indexed_db_context_.get() && |
| service_worker_context_.get() == other.service_worker_context_.get(); |
| } |
| |
| WorkerStoragePartition::~WorkerStoragePartition() { |
| } |
| |
| void WorkerStoragePartition::Copy(const WorkerStoragePartition& other) { |
| url_request_context_ = other.url_request_context_; |
| media_url_request_context_ = other.media_url_request_context_; |
| appcache_service_ = other.appcache_service_; |
| quota_manager_ = other.quota_manager_; |
| filesystem_context_ = other.filesystem_context_; |
| database_tracker_ = other.database_tracker_; |
| indexed_db_context_ = other.indexed_db_context_; |
| service_worker_context_ = other.service_worker_context_; |
| } |
| |
| WorkerStoragePartitionId::WorkerStoragePartitionId( |
| const WorkerStoragePartition& partition) |
| : url_request_context_(partition.url_request_context()), |
| media_url_request_context_(partition.media_url_request_context()), |
| appcache_service_(partition.appcache_service()), |
| quota_manager_(partition.quota_manager()), |
| filesystem_context_(partition.filesystem_context()), |
| database_tracker_(partition.database_tracker()), |
| indexed_db_context_(partition.indexed_db_context()), |
| service_worker_context_(partition.service_worker_context()) { |
| } |
| |
| WorkerStoragePartitionId::~WorkerStoragePartitionId() { |
| } |
| |
| bool WorkerStoragePartitionId::Equals( |
| const WorkerStoragePartitionId& other) const { |
| return url_request_context_ == other.url_request_context_ && |
| media_url_request_context_ == other.media_url_request_context_ && |
| appcache_service_ == other.appcache_service_ && |
| quota_manager_ == other.quota_manager_ && |
| filesystem_context_ == other.filesystem_context_ && |
| database_tracker_ == other.database_tracker_ && |
| indexed_db_context_ == other.indexed_db_context_ && |
| service_worker_context_ == other.service_worker_context_; |
| } |
| |
| } // namespace content |