OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "webkit/quota/mock_storage_client.h" | 5 #include "webkit/quota/mock_storage_client.h" |
6 | 6 |
7 #include "base/atomic_sequence_num.h" | 7 #include "base/atomic_sequence_num.h" |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/singleton.h" | 9 #include "base/memory/singleton.h" |
10 #include "base/message_loop_proxy.h" | 10 #include "base/message_loop_proxy.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
43 MockStorageClient::MockStorageClient(QuotaManagerProxy* quota_manager_proxy) | 43 MockStorageClient::MockStorageClient(QuotaManagerProxy* quota_manager_proxy) |
44 : quota_manager_proxy_(quota_manager_proxy), | 44 : quota_manager_proxy_(quota_manager_proxy), |
45 id_(MockStorageClientIDSequencer::GetInstance()->NextMockID()), | 45 id_(MockStorageClientIDSequencer::GetInstance()->NextMockID()), |
46 runnable_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) { | 46 runnable_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) { |
47 } | 47 } |
48 | 48 |
49 MockStorageClient::~MockStorageClient() { | 49 MockStorageClient::~MockStorageClient() { |
50 STLDeleteContainerPointers(usage_callbacks_.begin(), usage_callbacks_.end()); | 50 STLDeleteContainerPointers(usage_callbacks_.begin(), usage_callbacks_.end()); |
51 STLDeleteContainerPointers( | 51 STLDeleteContainerPointers( |
52 origins_callbacks_.begin(), origins_callbacks_.end()); | 52 origins_callbacks_.begin(), origins_callbacks_.end()); |
53 STLDeleteContainerPointers( | |
54 deletion_callbacks_.begin(), deletion_callbacks_.end()); | |
53 } | 55 } |
54 | 56 |
55 void MockStorageClient::AddMockOriginData( | 57 void MockStorageClient::AddMockOriginData( |
56 const GURL& origin_url, StorageType type, int64 size) { | 58 const GURL& origin_url, StorageType type, int64 size) { |
57 origin_data_.insert(std::make_pair(origin_url, MockOriginData(type, size))); | 59 origin_data_.insert(std::make_pair(origin_url, MockOriginData(type, size))); |
58 } | 60 } |
59 | 61 |
60 void MockStorageClient::ModifyMockOriginDataSize( | 62 void MockStorageClient::ModifyMockOriginDataSize( |
61 const GURL& origin_url, StorageType type, int64 delta) { | 63 const GURL& origin_url, StorageType type, int64 delta) { |
62 std::map<GURL, MockOriginData>::iterator find = origin_data_.find(origin_url); | 64 std::map<GURL, MockOriginData>::iterator find = origin_data_.find(origin_url); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
98 void MockStorageClient::GetOriginsForHost( | 100 void MockStorageClient::GetOriginsForHost( |
99 StorageType type, const std::string& host, | 101 StorageType type, const std::string& host, |
100 GetOriginsCallback* callback) { | 102 GetOriginsCallback* callback) { |
101 origins_callbacks_.insert(callback); | 103 origins_callbacks_.insert(callback); |
102 base::MessageLoopProxy::CreateForCurrentThread()->PostTask( | 104 base::MessageLoopProxy::CreateForCurrentThread()->PostTask( |
103 FROM_HERE, runnable_factory_.NewRunnableMethod( | 105 FROM_HERE, runnable_factory_.NewRunnableMethod( |
104 &MockStorageClient::RunGetOriginsForHost, | 106 &MockStorageClient::RunGetOriginsForHost, |
105 type, host, callback)); | 107 type, host, callback)); |
106 } | 108 } |
107 | 109 |
110 void MockStorageClient::DeleteOriginData( | |
111 const GURL& origin, StorageType type, | |
112 DeletionCallback* callback) { | |
113 deletion_callbacks_.insert(callback); | |
114 base::MessageLoopProxy::CreateForCurrentThread()->PostTask( | |
115 FROM_HERE, runnable_factory_.NewRunnableMethod( | |
116 &MockStorageClient::RunDeleteOriginData, | |
117 callback)); | |
118 } | |
119 | |
108 void MockStorageClient::RunGetOriginUsage( | 120 void MockStorageClient::RunGetOriginUsage( |
109 const GURL& origin_url, StorageType type, GetUsageCallback* callback_ptr) { | 121 const GURL& origin_url, StorageType type, GetUsageCallback* callback_ptr) { |
110 usage_callbacks_.erase(callback_ptr); | 122 usage_callbacks_.erase(callback_ptr); |
111 scoped_ptr<GetUsageCallback> callback(callback_ptr); | 123 scoped_ptr<GetUsageCallback> callback(callback_ptr); |
112 std::map<GURL, MockOriginData>::iterator find = origin_data_.find(origin_url); | 124 std::map<GURL, MockOriginData>::iterator find = origin_data_.find(origin_url); |
113 if (find == origin_data_.end()) { | 125 if (find == origin_data_.end()) { |
114 callback->Run(0); | 126 callback->Run(0); |
115 } else { | 127 } else { |
116 callback->Run(find->second.usage); | 128 callback->Run(find->second.usage); |
117 } | 129 } |
(...skipping 20 matching lines...) Expand all Loading... | |
138 std::set<GURL> origins; | 150 std::set<GURL> origins; |
139 for (std::map<GURL, MockOriginData>::iterator iter = origin_data_.begin(); | 151 for (std::map<GURL, MockOriginData>::iterator iter = origin_data_.begin(); |
140 iter != origin_data_.end(); ++iter) { | 152 iter != origin_data_.end(); ++iter) { |
141 std::string host_or_spec = net::GetHostOrSpecFromURL(iter->first); | 153 std::string host_or_spec = net::GetHostOrSpecFromURL(iter->first); |
142 if (type == iter->second.type && host == host_or_spec) | 154 if (type == iter->second.type && host == host_or_spec) |
143 origins.insert(iter->first); | 155 origins.insert(iter->first); |
144 } | 156 } |
145 callback->Run(origins); | 157 callback->Run(origins); |
146 } | 158 } |
147 | 159 |
160 void MockStorageClient::RunDeleteOriginData( | |
161 DeletionCallback* callback_ptr) { | |
tzik (google)
2011/05/13 14:22:24
Something to be done here
| |
162 scoped_ptr<DeletionCallback> callback(callback_ptr); | |
163 deletion_callbacks_.erase(callback_ptr); | |
164 callback->Run(kQuotaStatusOk); | |
165 } | |
166 | |
148 } // namespace quota | 167 } // namespace quota |
OLD | NEW |