summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-30 12:33:31 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-30 12:33:31 +0000
commitdf22562a167cb236ba2084f2dc397a99fcf2b720 (patch)
tree13284e864b725cec5cda203e1a1f9ac004cfe517 /webkit
parent1372053b038b5c205303f4a49bff00cc0b82432d (diff)
downloadchromium_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.cc16
-rw-r--r--webkit/browser/quota/mock_special_storage_policy.h7
-rw-r--r--webkit/browser/quota/special_storage_policy.h3
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;