Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(299)

Unified Diff: webkit/browser/database/database_quota_client.cc

Issue 442383002: Move storage-related files from webkit/ to new top-level directory storage/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webkit/browser/database/database_quota_client.h ('k') | webkit/browser/database/database_tracker.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/browser/database/database_quota_client.cc
diff --git a/webkit/browser/database/database_quota_client.cc b/webkit/browser/database/database_quota_client.cc
deleted file mode 100644
index 08e86660375230e12807657d1fa23524f638f161..0000000000000000000000000000000000000000
--- a/webkit/browser/database/database_quota_client.cc
+++ /dev/null
@@ -1,222 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "webkit/browser/database/database_quota_client.h"
-
-#include <vector>
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/location.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/message_loop/message_loop_proxy.h"
-#include "base/task_runner_util.h"
-#include "net/base/net_errors.h"
-#include "net/base/net_util.h"
-#include "webkit/browser/database/database_tracker.h"
-#include "webkit/browser/database/database_util.h"
-#include "webkit/common/database/database_identifier.h"
-
-using quota::QuotaClient;
-
-namespace webkit_database {
-
-namespace {
-
-int64 GetOriginUsageOnDBThread(
- DatabaseTracker* db_tracker,
- const GURL& origin_url) {
- OriginInfo info;
- if (db_tracker->GetOriginInfo(
- webkit_database::GetIdentifierFromOrigin(origin_url), &info))
- return info.TotalSize();
- return 0;
-}
-
-void GetOriginsOnDBThread(
- DatabaseTracker* db_tracker,
- std::set<GURL>* origins_ptr) {
- std::vector<std::string> origin_identifiers;
- if (db_tracker->GetAllOriginIdentifiers(&origin_identifiers)) {
- for (std::vector<std::string>::const_iterator iter =
- origin_identifiers.begin();
- iter != origin_identifiers.end(); ++iter) {
- GURL origin = webkit_database::GetOriginFromIdentifier(*iter);
- origins_ptr->insert(origin);
- }
- }
-}
-
-void GetOriginsForHostOnDBThread(
- DatabaseTracker* db_tracker,
- std::set<GURL>* origins_ptr,
- const std::string& host) {
- std::vector<std::string> origin_identifiers;
- if (db_tracker->GetAllOriginIdentifiers(&origin_identifiers)) {
- for (std::vector<std::string>::const_iterator iter =
- origin_identifiers.begin();
- iter != origin_identifiers.end(); ++iter) {
- GURL origin = webkit_database::GetOriginFromIdentifier(*iter);
- if (host == net::GetHostOrSpecFromURL(origin))
- origins_ptr->insert(origin);
- }
- }
-}
-
-void DidGetOrigins(
- const QuotaClient::GetOriginsCallback& callback,
- std::set<GURL>* origins_ptr) {
- callback.Run(*origins_ptr);
-}
-
-void DidDeleteOriginData(
- base::SingleThreadTaskRunner* original_task_runner,
- const QuotaClient::DeletionCallback& callback,
- int result) {
- if (result == net::ERR_IO_PENDING) {
- // The callback will be invoked via
- // DatabaseTracker::ScheduleDatabasesForDeletion.
- return;
- }
-
- quota::QuotaStatusCode status;
- if (result == net::OK)
- status = quota::kQuotaStatusOk;
- else
- status = quota::kQuotaStatusUnknown;
-
- if (original_task_runner->BelongsToCurrentThread())
- callback.Run(status);
- else
- original_task_runner->PostTask(FROM_HERE, base::Bind(callback, status));
-}
-
-} // namespace
-
-DatabaseQuotaClient::DatabaseQuotaClient(
- base::MessageLoopProxy* db_tracker_thread,
- DatabaseTracker* db_tracker)
- : db_tracker_thread_(db_tracker_thread), db_tracker_(db_tracker) {
-}
-
-DatabaseQuotaClient::~DatabaseQuotaClient() {
- if (db_tracker_thread_.get() &&
- !db_tracker_thread_->RunsTasksOnCurrentThread() && db_tracker_.get()) {
- DatabaseTracker* tracker = db_tracker_.get();
- tracker->AddRef();
- db_tracker_ = NULL;
- if (!db_tracker_thread_->ReleaseSoon(FROM_HERE, tracker))
- tracker->Release();
- }
-}
-
-QuotaClient::ID DatabaseQuotaClient::id() const {
- return kDatabase;
-}
-
-void DatabaseQuotaClient::OnQuotaManagerDestroyed() {
- delete this;
-}
-
-void DatabaseQuotaClient::GetOriginUsage(
- const GURL& origin_url,
- quota::StorageType type,
- const GetUsageCallback& callback) {
- DCHECK(!callback.is_null());
- DCHECK(db_tracker_.get());
-
- // All databases are in the temp namespace for now.
- if (type != quota::kStorageTypeTemporary) {
- callback.Run(0);
- return;
- }
-
- base::PostTaskAndReplyWithResult(
- db_tracker_thread_.get(),
- FROM_HERE,
- base::Bind(&GetOriginUsageOnDBThread, db_tracker_, origin_url),
- callback);
-}
-
-void DatabaseQuotaClient::GetOriginsForType(
- quota::StorageType type,
- const GetOriginsCallback& callback) {
- DCHECK(!callback.is_null());
- DCHECK(db_tracker_.get());
-
- // All databases are in the temp namespace for now.
- if (type != quota::kStorageTypeTemporary) {
- callback.Run(std::set<GURL>());
- return;
- }
-
- std::set<GURL>* origins_ptr = new std::set<GURL>();
- db_tracker_thread_->PostTaskAndReply(
- FROM_HERE,
- base::Bind(&GetOriginsOnDBThread,
- db_tracker_,
- base::Unretained(origins_ptr)),
- base::Bind(&DidGetOrigins,
- callback,
- base::Owned(origins_ptr)));
-}
-
-void DatabaseQuotaClient::GetOriginsForHost(
- quota::StorageType type,
- const std::string& host,
- const GetOriginsCallback& callback) {
- DCHECK(!callback.is_null());
- DCHECK(db_tracker_.get());
-
- // All databases are in the temp namespace for now.
- if (type != quota::kStorageTypeTemporary) {
- callback.Run(std::set<GURL>());
- return;
- }
-
- std::set<GURL>* origins_ptr = new std::set<GURL>();
- db_tracker_thread_->PostTaskAndReply(
- FROM_HERE,
- base::Bind(&GetOriginsForHostOnDBThread,
- db_tracker_,
- base::Unretained(origins_ptr),
- host),
- base::Bind(&DidGetOrigins,
- callback,
- base::Owned(origins_ptr)));
-}
-
-void DatabaseQuotaClient::DeleteOriginData(
- const GURL& origin,
- quota::StorageType type,
- const DeletionCallback& callback) {
- DCHECK(!callback.is_null());
- DCHECK(db_tracker_.get());
-
- // All databases are in the temp namespace for now, so nothing to delete.
- if (type != quota::kStorageTypeTemporary) {
- callback.Run(quota::kQuotaStatusOk);
- return;
- }
-
- base::Callback<void(int)> delete_callback =
- base::Bind(&DidDeleteOriginData,
- base::MessageLoopProxy::current(),
- callback);
-
- PostTaskAndReplyWithResult(
- db_tracker_thread_.get(),
- FROM_HERE,
- base::Bind(&DatabaseTracker::DeleteDataForOrigin,
- db_tracker_,
- webkit_database::GetIdentifierFromOrigin(origin),
- delete_callback),
- delete_callback);
-}
-
-bool DatabaseQuotaClient::DoesSupport(quota::StorageType type) const {
- return type == quota::kStorageTypeTemporary;
-}
-
-} // namespace webkit_database
« no previous file with comments | « webkit/browser/database/database_quota_client.h ('k') | webkit/browser/database/database_tracker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698