| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "storage/browser/database/database_quota_client.h" | 5 #include "storage/browser/database/database_quota_client.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 DCHECK(!callback.is_null()); | 126 DCHECK(!callback.is_null()); |
| 127 DCHECK(db_tracker_.get()); | 127 DCHECK(db_tracker_.get()); |
| 128 | 128 |
| 129 // All databases are in the temp namespace for now. | 129 // All databases are in the temp namespace for now. |
| 130 if (type != storage::kStorageTypeTemporary) { | 130 if (type != storage::kStorageTypeTemporary) { |
| 131 callback.Run(0); | 131 callback.Run(0); |
| 132 return; | 132 return; |
| 133 } | 133 } |
| 134 | 134 |
| 135 base::PostTaskAndReplyWithResult( | 135 base::PostTaskAndReplyWithResult( |
| 136 db_tracker_thread_.get(), | 136 db_tracker_thread_.get(), FROM_HERE, |
| 137 FROM_HERE, | 137 base::Bind(&GetOriginUsageOnDBThread, base::RetainedRef(db_tracker_), |
| 138 base::Bind(&GetOriginUsageOnDBThread, db_tracker_, origin_url), | 138 origin_url), |
| 139 callback); | 139 callback); |
| 140 } | 140 } |
| 141 | 141 |
| 142 void DatabaseQuotaClient::GetOriginsForType( | 142 void DatabaseQuotaClient::GetOriginsForType( |
| 143 storage::StorageType type, | 143 storage::StorageType type, |
| 144 const GetOriginsCallback& callback) { | 144 const GetOriginsCallback& callback) { |
| 145 DCHECK(!callback.is_null()); | 145 DCHECK(!callback.is_null()); |
| 146 DCHECK(db_tracker_.get()); | 146 DCHECK(db_tracker_.get()); |
| 147 | 147 |
| 148 // All databases are in the temp namespace for now. | 148 // All databases are in the temp namespace for now. |
| 149 if (type != storage::kStorageTypeTemporary) { | 149 if (type != storage::kStorageTypeTemporary) { |
| 150 callback.Run(std::set<GURL>()); | 150 callback.Run(std::set<GURL>()); |
| 151 return; | 151 return; |
| 152 } | 152 } |
| 153 | 153 |
| 154 std::set<GURL>* origins_ptr = new std::set<GURL>(); | 154 std::set<GURL>* origins_ptr = new std::set<GURL>(); |
| 155 db_tracker_thread_->PostTaskAndReply( | 155 db_tracker_thread_->PostTaskAndReply( |
| 156 FROM_HERE, | 156 FROM_HERE, |
| 157 base::Bind(&GetOriginsOnDBThread, | 157 base::Bind(&GetOriginsOnDBThread, base::RetainedRef(db_tracker_), |
| 158 db_tracker_, | |
| 159 base::Unretained(origins_ptr)), | 158 base::Unretained(origins_ptr)), |
| 160 base::Bind(&DidGetOrigins, | 159 base::Bind(&DidGetOrigins, callback, base::Owned(origins_ptr))); |
| 161 callback, | |
| 162 base::Owned(origins_ptr))); | |
| 163 } | 160 } |
| 164 | 161 |
| 165 void DatabaseQuotaClient::GetOriginsForHost( | 162 void DatabaseQuotaClient::GetOriginsForHost( |
| 166 storage::StorageType type, | 163 storage::StorageType type, |
| 167 const std::string& host, | 164 const std::string& host, |
| 168 const GetOriginsCallback& callback) { | 165 const GetOriginsCallback& callback) { |
| 169 DCHECK(!callback.is_null()); | 166 DCHECK(!callback.is_null()); |
| 170 DCHECK(db_tracker_.get()); | 167 DCHECK(db_tracker_.get()); |
| 171 | 168 |
| 172 // All databases are in the temp namespace for now. | 169 // All databases are in the temp namespace for now. |
| 173 if (type != storage::kStorageTypeTemporary) { | 170 if (type != storage::kStorageTypeTemporary) { |
| 174 callback.Run(std::set<GURL>()); | 171 callback.Run(std::set<GURL>()); |
| 175 return; | 172 return; |
| 176 } | 173 } |
| 177 | 174 |
| 178 std::set<GURL>* origins_ptr = new std::set<GURL>(); | 175 std::set<GURL>* origins_ptr = new std::set<GURL>(); |
| 179 db_tracker_thread_->PostTaskAndReply( | 176 db_tracker_thread_->PostTaskAndReply( |
| 180 FROM_HERE, | 177 FROM_HERE, |
| 181 base::Bind(&GetOriginsForHostOnDBThread, | 178 base::Bind(&GetOriginsForHostOnDBThread, base::RetainedRef(db_tracker_), |
| 182 db_tracker_, | 179 base::Unretained(origins_ptr), host), |
| 183 base::Unretained(origins_ptr), | 180 base::Bind(&DidGetOrigins, callback, base::Owned(origins_ptr))); |
| 184 host), | |
| 185 base::Bind(&DidGetOrigins, | |
| 186 callback, | |
| 187 base::Owned(origins_ptr))); | |
| 188 } | 181 } |
| 189 | 182 |
| 190 void DatabaseQuotaClient::DeleteOriginData(const GURL& origin, | 183 void DatabaseQuotaClient::DeleteOriginData(const GURL& origin, |
| 191 storage::StorageType type, | 184 storage::StorageType type, |
| 192 const DeletionCallback& callback) { | 185 const DeletionCallback& callback) { |
| 193 DCHECK(!callback.is_null()); | 186 DCHECK(!callback.is_null()); |
| 194 DCHECK(db_tracker_.get()); | 187 DCHECK(db_tracker_.get()); |
| 195 | 188 |
| 196 // All databases are in the temp namespace for now, so nothing to delete. | 189 // All databases are in the temp namespace for now, so nothing to delete. |
| 197 if (type != storage::kStorageTypeTemporary) { | 190 if (type != storage::kStorageTypeTemporary) { |
| 198 callback.Run(storage::kQuotaStatusOk); | 191 callback.Run(storage::kQuotaStatusOk); |
| 199 return; | 192 return; |
| 200 } | 193 } |
| 201 | 194 |
| 202 base::Callback<void(int)> delete_callback = | 195 base::Callback<void(int)> delete_callback = base::Bind( |
| 203 base::Bind(&DidDeleteOriginData, | 196 &DidDeleteOriginData, |
| 204 base::ThreadTaskRunnerHandle::Get(), | 197 base::RetainedRef(base::ThreadTaskRunnerHandle::Get()), callback); |
| 205 callback); | |
| 206 | 198 |
| 207 PostTaskAndReplyWithResult( | 199 PostTaskAndReplyWithResult( |
| 208 db_tracker_thread_.get(), | 200 db_tracker_thread_.get(), |
| 209 FROM_HERE, | 201 FROM_HERE, |
| 210 base::Bind(&DatabaseTracker::DeleteDataForOrigin, | 202 base::Bind(&DatabaseTracker::DeleteDataForOrigin, |
| 211 db_tracker_, | 203 db_tracker_, |
| 212 storage::GetIdentifierFromOrigin(origin), | 204 storage::GetIdentifierFromOrigin(origin), |
| 213 delete_callback), | 205 delete_callback), |
| 214 delete_callback); | 206 delete_callback); |
| 215 } | 207 } |
| 216 | 208 |
| 217 bool DatabaseQuotaClient::DoesSupport(storage::StorageType type) const { | 209 bool DatabaseQuotaClient::DoesSupport(storage::StorageType type) const { |
| 218 return type == storage::kStorageTypeTemporary; | 210 return type == storage::kStorageTypeTemporary; |
| 219 } | 211 } |
| 220 | 212 |
| 221 } // namespace storage | 213 } // namespace storage |
| OLD | NEW |