1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_BROWSER_QUOTA_MOCK_SPECIAL_STORAGE_POLICY_H_
6 #define CONTENT_BROWSER_QUOTA_MOCK_SPECIAL_STORAGE_POLICY_H_
12 #include "webkit/browser/quota/special_storage_policy.h"
14 using quota::SpecialStoragePolicy
;
18 class MockSpecialStoragePolicy
: public quota::SpecialStoragePolicy
{
20 MockSpecialStoragePolicy();
22 virtual bool IsStorageProtected(const GURL
& origin
) OVERRIDE
;
23 virtual bool IsStorageUnlimited(const GURL
& origin
) OVERRIDE
;
24 virtual bool IsStorageSessionOnly(const GURL
& origin
) OVERRIDE
;
25 virtual bool CanQueryDiskSize(const GURL
& origin
) OVERRIDE
;
26 virtual bool IsFileHandler(const std::string
& extension_id
) OVERRIDE
;
27 virtual bool HasIsolatedStorage(const GURL
& origin
) OVERRIDE
;
28 virtual bool HasSessionOnlyOrigins() OVERRIDE
;
30 void AddProtected(const GURL
& origin
) {
31 protected_
.insert(origin
);
34 void AddUnlimited(const GURL
& origin
) {
35 unlimited_
.insert(origin
);
38 void RemoveUnlimited(const GURL
& origin
) {
39 unlimited_
.erase(origin
);
42 void AddSessionOnly(const GURL
& origin
) {
43 session_only_
.insert(origin
);
46 void GrantQueryDiskSize(const GURL
& origin
) {
47 can_query_disk_size_
.insert(origin
);
50 void AddFileHandler(const std::string
& id
) {
51 file_handlers_
.insert(id
);
54 void AddIsolated(const GURL
& origin
) {
55 isolated_
.insert(origin
);
58 void RemoveIsolated(const GURL
& origin
) {
59 isolated_
.erase(origin
);
62 void SetAllUnlimited(bool all_unlimited
) {
63 all_unlimited_
= all_unlimited
;
69 session_only_
.clear();
70 can_query_disk_size_
.clear();
71 file_handlers_
.clear();
73 all_unlimited_
= false;
76 void NotifyGranted(const GURL
& origin
, int change_flags
) {
77 SpecialStoragePolicy::NotifyGranted(origin
, change_flags
);
80 void NotifyRevoked(const GURL
& origin
, int change_flags
) {
81 SpecialStoragePolicy::NotifyRevoked(origin
, change_flags
);
84 void NotifyCleared() {
85 SpecialStoragePolicy::NotifyCleared();
89 virtual ~MockSpecialStoragePolicy();
92 std::set
<GURL
> protected_
;
93 std::set
<GURL
> unlimited_
;
94 std::set
<GURL
> session_only_
;
95 std::set
<GURL
> can_query_disk_size_
;
96 std::set
<GURL
> isolated_
;
97 std::set
<std::string
> file_handlers_
;
101 } // namespace content
103 #endif // CONTENT_BROWSER_QUOTA_MOCK_SPECIAL_STORAGE_POLICY_H_