diff options
author | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-30 12:33:31 +0000 |
---|---|---|
committer | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-30 12:33:31 +0000 |
commit | df22562a167cb236ba2084f2dc397a99fcf2b720 (patch) | |
tree | 13284e864b725cec5cda203e1a1f9ac004cfe517 /webkit | |
parent | 1372053b038b5c205303f4a49bff00cc0b82432d (diff) | |
download | chromium_src-df22562a167cb236ba2084f2dc397a99fcf2b720.zip chromium_src-df22562a167cb236ba2084f2dc397a99fcf2b720.tar.gz chromium_src-df22562a167cb236ba2084f2dc397a99fcf2b720.tar.bz2 |
Add SpecialStoragePolicy::HasIsolatedStorage
So that we can tell if the origin has isolated storage partition or not.
BUG=242272
TEST=ExtensionSpecialStoragePolicyTest.HasIsolatedStorage
R=asargent@chromium.org, michaeln@chromium.org
Review URL: https://codereview.chromium.org/15862008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203129 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/browser/quota/mock_special_storage_policy.cc | 16 | ||||
-rw-r--r-- | webkit/browser/quota/mock_special_storage_policy.h | 7 | ||||
-rw-r--r-- | webkit/browser/quota/special_storage_policy.h | 3 |
3 files changed, 21 insertions, 5 deletions
diff --git a/webkit/browser/quota/mock_special_storage_policy.cc b/webkit/browser/quota/mock_special_storage_policy.cc index 3cb0e66..027a35d 100644 --- a/webkit/browser/quota/mock_special_storage_policy.cc +++ b/webkit/browser/quota/mock_special_storage_policy.cc @@ -4,6 +4,8 @@ #include "webkit/browser/quota/mock_special_storage_policy.h" +#include "base/stl_util.h" + namespace quota { MockSpecialStoragePolicy::MockSpecialStoragePolicy() @@ -11,25 +13,29 @@ MockSpecialStoragePolicy::MockSpecialStoragePolicy() } bool MockSpecialStoragePolicy::IsStorageProtected(const GURL& origin) { - return protected_.find(origin) != protected_.end(); + return ContainsKey(protected_, origin); } bool MockSpecialStoragePolicy::IsStorageUnlimited(const GURL& origin) { if (all_unlimited_) return true; - return unlimited_.find(origin) != unlimited_.end(); + return ContainsKey(unlimited_, origin); } bool MockSpecialStoragePolicy::IsStorageSessionOnly(const GURL& origin) { - return session_only_.find(origin) != session_only_.end(); + return ContainsKey(session_only_, origin); } bool MockSpecialStoragePolicy::CanQueryDiskSize(const GURL& origin) { - return can_query_disk_size_.find(origin) != can_query_disk_size_.end(); + return ContainsKey(can_query_disk_size_, origin); } bool MockSpecialStoragePolicy::IsFileHandler(const std::string& extension_id) { - return file_handlers_.find(extension_id) != file_handlers_.end(); + return ContainsKey(file_handlers_, extension_id); +} + +bool MockSpecialStoragePolicy::HasIsolatedStorage(const GURL& origin) { + return ContainsKey(isolated_, origin); } bool MockSpecialStoragePolicy::HasSessionOnlyOrigins() { diff --git a/webkit/browser/quota/mock_special_storage_policy.h b/webkit/browser/quota/mock_special_storage_policy.h index 1cfaa1e..ea52a38 100644 --- a/webkit/browser/quota/mock_special_storage_policy.h +++ b/webkit/browser/quota/mock_special_storage_policy.h @@ -22,6 +22,7 @@ class MockSpecialStoragePolicy : public quota::SpecialStoragePolicy { virtual bool IsStorageSessionOnly(const GURL& origin) OVERRIDE; virtual bool CanQueryDiskSize(const GURL& origin) OVERRIDE; virtual bool IsFileHandler(const std::string& extension_id) OVERRIDE; + virtual bool HasIsolatedStorage(const GURL& origin) OVERRIDE; virtual bool HasSessionOnlyOrigins() OVERRIDE; void AddProtected(const GURL& origin) { @@ -48,6 +49,10 @@ class MockSpecialStoragePolicy : public quota::SpecialStoragePolicy { file_handlers_.insert(id); } + void AddIsolated(const GURL& origin) { + isolated_.insert(origin); + } + void SetAllUnlimited(bool all_unlimited) { all_unlimited_ = all_unlimited; } @@ -58,6 +63,7 @@ class MockSpecialStoragePolicy : public quota::SpecialStoragePolicy { session_only_.clear(); can_query_disk_size_.clear(); file_handlers_.clear(); + isolated_.clear(); all_unlimited_ = false; } @@ -81,6 +87,7 @@ class MockSpecialStoragePolicy : public quota::SpecialStoragePolicy { std::set<GURL> unlimited_; std::set<GURL> session_only_; std::set<GURL> can_query_disk_size_; + std::set<GURL> isolated_; std::set<std::string> file_handlers_; bool all_unlimited_; diff --git a/webkit/browser/quota/special_storage_policy.h b/webkit/browser/quota/special_storage_policy.h index a16fed2..beafea3 100644 --- a/webkit/browser/quota/special_storage_policy.h +++ b/webkit/browser/quota/special_storage_policy.h @@ -56,6 +56,9 @@ class WEBKIT_STORAGE_EXPORT SpecialStoragePolicy // file handler. virtual bool IsFileHandler(const std::string& extension_id) = 0; + // Checks if the origin contains per-site isolated storage. + virtual bool HasIsolatedStorage(const GURL& origin) = 0; + // Some origins are only allowed to store session-only data which is deleted // when the session ends. virtual bool IsStorageSessionOnly(const GURL& origin) = 0; |