diff options
author | ajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-13 09:11:30 +0000 |
---|---|---|
committer | ajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-13 09:11:30 +0000 |
commit | b471cf41edf3a0bb0e915ad697bf3485bd2da3f5 (patch) | |
tree | 619bc3fa1012088e1e9b2e2fb426416f83435fc8 /content/browser/storage_partition_impl.h | |
parent | 4c14b49d4b5194b10c416a9fd9142af5f8ff2ef4 (diff) | |
download | chromium_src-b471cf41edf3a0bb0e915ad697bf3485bd2da3f5.zip chromium_src-b471cf41edf3a0bb0e915ad697bf3485bd2da3f5.tar.gz chromium_src-b471cf41edf3a0bb0e915ad697bf3485bd2da3f5.tar.bz2 |
Fix on-disk structure for persistent storage in webview tags.
BUG=159464
Review URL: https://chromiumcodereview.appspot.com/11366140
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167334 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/storage_partition_impl.h')
-rw-r--r-- | content/browser/storage_partition_impl.h | 62 |
1 files changed, 8 insertions, 54 deletions
diff --git a/content/browser/storage_partition_impl.h b/content/browser/storage_partition_impl.h index 9712837..c5af368 100644 --- a/content/browser/storage_partition_impl.h +++ b/content/browser/storage_partition_impl.h @@ -7,7 +7,6 @@ #include "base/compiler_specific.h" #include "base/file_path.h" -#include "base/gtest_prod_util.h" #include "base/memory/ref_counted.h" #include "content/browser/appcache/chrome_appcache_service.h" #include "content/browser/dom_storage/dom_storage_context_impl.h" @@ -32,62 +31,17 @@ class StoragePartitionImpl : public StoragePartition { virtual IndexedDBContextImpl* GetIndexedDBContext() OVERRIDE; private: - FRIEND_TEST_ALL_PREFIXES(StoragePartitionConfigTest, OperatorLess); friend class StoragePartitionImplMap; - // Each StoragePartition is uniquely identified by which partition domain - // it belongs to (such as an app or the browser itself), the user supplied - // partition name and the bit indicating whether it should be persisted on - // disk or not. This structure contains those elements and is used as - // uniqueness key to lookup StoragePartition objects in the global map. + // The |partition_path| is the absolute path to the root of this + // StoragePartition's on-disk storage. // - // TODO(nasko): It is equivalent, though not identical to the same structure - // that lives in chrome profiles. The difference is that this one has - // partition_domain and partition_name separate, while the latter one has - // the path produced by combining the two pieces together. - // The fix for http://crbug.com/159193 will remove the chrome version. - struct StoragePartitionConfig { - const std::string partition_domain; - const std::string partition_name; - const bool in_memory; - - StoragePartitionConfig(const std::string& domain, - const std::string& partition, - const bool& in_memory_only) - : partition_domain(domain), - partition_name(partition), - in_memory(in_memory_only) {} - }; - - // Functor for operator <. - struct StoragePartitionConfigLess { - bool operator()(const StoragePartitionConfig& lhs, - const StoragePartitionConfig& rhs) const { - if (lhs.partition_domain != rhs.partition_domain) - return lhs.partition_domain < rhs.partition_domain; - else if (lhs.partition_name != rhs.partition_name) - return lhs.partition_name < rhs.partition_name; - else if (lhs.in_memory != rhs.in_memory) - return lhs.in_memory < rhs.in_memory; - else - return false; - } - }; - - // TODO(ajwong): Break the direct dependency on |context|. We only - // need 3 pieces of info from it. - static StoragePartitionImpl* Create( - BrowserContext* context, - const StoragePartitionConfig& partition_id, - const FilePath& profile_path); - - // Returns the relative path from the profile's base directory, to the - // directory that holds all the state for storage contexts in - // |partition_config|. If any of the strings in |partition_config| contain - // embedded nuls, the values will be truncated and only the portion prior to - // the nul will be used. - static FilePath GetStoragePartitionPath( - const StoragePartitionConfig& partition_config); + // If |in_memory| is true, the |partition_path| is (ab)used as a way of + // distinguishing different in-memory partitions, but nothing is persisted + // on to disk. + static StoragePartitionImpl* Create(BrowserContext* context, + bool in_memory, + const FilePath& profile_path); StoragePartitionImpl( const FilePath& partition_path, |