diff options
Diffstat (limited to 'webkit/quota')
-rw-r--r-- | webkit/quota/mock_special_storage_policy.cc | 4 | ||||
-rw-r--r-- | webkit/quota/mock_special_storage_policy.h | 8 | ||||
-rw-r--r-- | webkit/quota/special_storage_policy.h | 4 |
3 files changed, 16 insertions, 0 deletions
diff --git a/webkit/quota/mock_special_storage_policy.cc b/webkit/quota/mock_special_storage_policy.cc index 8b75073..5787be9 100644 --- a/webkit/quota/mock_special_storage_policy.cc +++ b/webkit/quota/mock_special_storage_policy.cc @@ -21,6 +21,10 @@ bool MockSpecialStoragePolicy::IsStorageUnlimited(const GURL& origin) { return unlimited_.find(origin) != unlimited_.end(); } +bool MockSpecialStoragePolicy::IsStorageSessionOnly(const GURL& origin) { + return session_only_.find(origin) != session_only_.end(); +} + bool MockSpecialStoragePolicy::IsFileHandler(const std::string& extension_id) { return file_handlers_.find(extension_id) != file_handlers_.end(); } diff --git a/webkit/quota/mock_special_storage_policy.h b/webkit/quota/mock_special_storage_policy.h index b04d16d..7e54a6e 100644 --- a/webkit/quota/mock_special_storage_policy.h +++ b/webkit/quota/mock_special_storage_policy.h @@ -19,6 +19,7 @@ class MockSpecialStoragePolicy : public quota::SpecialStoragePolicy { virtual bool IsStorageProtected(const GURL& origin); virtual bool IsStorageUnlimited(const GURL& origin); + virtual bool IsStorageSessionOnly(const GURL& origin); virtual bool IsFileHandler(const std::string& extension_id); void AddProtected(const GURL& origin) { @@ -29,6 +30,10 @@ class MockSpecialStoragePolicy : public quota::SpecialStoragePolicy { unlimited_.insert(origin); } + void AddSessionOnly(const GURL& origin) { + session_only_.insert(origin); + } + void AddFileHandler(const std::string& id) { file_handlers_.insert(id); } @@ -40,7 +45,9 @@ class MockSpecialStoragePolicy : public quota::SpecialStoragePolicy { void Reset() { protected_.clear(); unlimited_.clear(); + session_only_.clear(); file_handlers_.clear(); + all_unlimited_ = false; } void NotifyChanged() { @@ -50,6 +57,7 @@ class MockSpecialStoragePolicy : public quota::SpecialStoragePolicy { private: std::set<GURL> protected_; std::set<GURL> unlimited_; + std::set<GURL> session_only_; std::set<std::string> file_handlers_; bool all_unlimited_; diff --git a/webkit/quota/special_storage_policy.h b/webkit/quota/special_storage_policy.h index cc1af6b..ed8989c 100644 --- a/webkit/quota/special_storage_policy.h +++ b/webkit/quota/special_storage_policy.h @@ -42,6 +42,10 @@ class SpecialStoragePolicy // file handler. virtual bool IsFileHandler(const std::string& extension_id) = 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; + // Adds/removes an observer, the policy does not take // ownership of the observer. Should only be called on the IO thread. void AddObserver(Observer* observer); |