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

Unified Diff: chrome/browser/browsing_data_quota_helper_impl.cc

Issue 7491085: Revert 95607 - Adding usage entry to chrome://settings/cookies. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 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
Index: chrome/browser/browsing_data_quota_helper_impl.cc
===================================================================
--- chrome/browser/browsing_data_quota_helper_impl.cc (revision 95777)
+++ chrome/browser/browsing_data_quota_helper_impl.cc (working copy)
@@ -1,163 +0,0 @@
-// Copyright (c) 2011 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 "chrome/browser/browsing_data_quota_helper_impl.h"
-
-#include <map>
-#include <set>
-
-#include "base/logging.h"
-#include "chrome/browser/profiles/profile.h"
-#include "webkit/quota/quota_manager.h"
-
-// static
-BrowsingDataQuotaHelper* BrowsingDataQuotaHelper::Create(Profile* profile) {
- return new BrowsingDataQuotaHelperImpl(
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI),
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO),
- profile->GetQuotaManager());
-}
-
-BrowsingDataQuotaHelperImpl::BrowsingDataQuotaHelperImpl(
- base::MessageLoopProxy* ui_thread,
- base::MessageLoopProxy* io_thread,
- quota::QuotaManager* quota_manager)
- : BrowsingDataQuotaHelper(io_thread),
- quota_manager_(quota_manager),
- is_fetching_(false),
- ui_thread_(ui_thread),
- io_thread_(io_thread),
- callback_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {
- DCHECK(quota_manager);
-}
-
-BrowsingDataQuotaHelperImpl::~BrowsingDataQuotaHelperImpl() {}
-
-void BrowsingDataQuotaHelperImpl::StartFetching(FetchResultCallback* callback) {
- DCHECK(callback);
- DCHECK(!callback_.get());
- DCHECK(!is_fetching_);
- callback_.reset(callback);
- quota_info_.clear();
- is_fetching_ = true;
-
- FetchQuotaInfo();
-}
-
-void BrowsingDataQuotaHelperImpl::CancelNotification() {
- callback_.reset();
-}
-
-void BrowsingDataQuotaHelperImpl::FetchQuotaInfo() {
- if (!io_thread_->BelongsToCurrentThread()) {
- io_thread_->PostTask(
- FROM_HERE,
- NewRunnableMethod(
- this,
- &BrowsingDataQuotaHelperImpl::FetchQuotaInfo));
- return;
- }
-
- quota_manager_->GetOriginsModifiedSince(
- quota::kStorageTypeTemporary,
- base::Time(),
- callback_factory_.NewCallback(
- &BrowsingDataQuotaHelperImpl::GotOrigins));
-}
-
-void BrowsingDataQuotaHelperImpl::GotOrigins(
- const std::set<GURL>& origins, quota::StorageType type) {
- for (std::set<GURL>::const_iterator itr = origins.begin();
- itr != origins.end();
- ++itr)
- pending_hosts_.insert(std::make_pair(itr->host(), type));
-
- DCHECK(type == quota::kStorageTypeTemporary ||
- type == quota::kStorageTypePersistent);
-
- if (type == quota::kStorageTypeTemporary) {
- quota_manager_->GetOriginsModifiedSince(
- quota::kStorageTypePersistent,
- base::Time(),
- callback_factory_.NewCallback(
- &BrowsingDataQuotaHelperImpl::GotOrigins));
- } else {
- // type == quota::kStorageTypePersistent
- ProcessPendingHosts();
- }
-}
-
-void BrowsingDataQuotaHelperImpl::ProcessPendingHosts() {
- if (pending_hosts_.empty()) {
- OnComplete();
- return;
- }
-
- PendingHosts::iterator itr = pending_hosts_.begin();
- std::string host = itr->first;
- quota::StorageType type = itr->second;
- pending_hosts_.erase(itr);
- GetHostUsage(host, type);
-}
-
-void BrowsingDataQuotaHelperImpl::GetHostUsage(const std::string& host,
- quota::StorageType type) {
- DCHECK(quota_manager_.get());
- quota_manager_->GetHostUsage(
- host, type,
- callback_factory_.NewCallback(
- &BrowsingDataQuotaHelperImpl::GotHostUsage));
-}
-
-void BrowsingDataQuotaHelperImpl::GotHostUsage(const std::string& host,
- quota::StorageType type,
- int64 usage) {
- switch (type) {
- case quota::kStorageTypeTemporary:
- quota_info_[host].temporary_usage = usage;
- break;
- case quota::kStorageTypePersistent:
- quota_info_[host].persistent_usage = usage;
- break;
- default:
- NOTREACHED();
- }
- ProcessPendingHosts();
-}
-
-void BrowsingDataQuotaHelperImpl::OnComplete() {
- // Check if CancelNotification was called
- if (!callback_.get())
- return;
-
- if (!ui_thread_->BelongsToCurrentThread()) {
- ui_thread_->PostTask(
- FROM_HERE,
- NewRunnableMethod(
- this,
- &BrowsingDataQuotaHelperImpl::OnComplete));
- return;
- }
-
- is_fetching_ = false;
-
- QuotaInfoArray result;
- result.reserve(quota_info_.size());
-
- for (std::map<std::string, QuotaInfo>::iterator itr = quota_info_.begin();
- itr != quota_info_.end();
- ++itr) {
- QuotaInfo* info = &itr->second;
- // Skip unused entries
- if (info->temporary_usage <= 0 &&
- info->persistent_usage <= 0)
- continue;
-
- info->host = itr->first;
- result.push_back(*info);
- }
-
- callback_->Run(result);
- callback_.reset();
-}
« no previous file with comments | « chrome/browser/browsing_data_quota_helper_impl.h ('k') | chrome/browser/browsing_data_quota_helper_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698