Index: chrome/browser/browsing_data_database_helper.cc |
diff --git a/chrome/browser/browsing_data_database_helper.cc b/chrome/browser/browsing_data_database_helper.cc |
deleted file mode 100644 |
index c08baa8832e80070a6513c839d220d502f7cac44..0000000000000000000000000000000000000000 |
--- a/chrome/browser/browsing_data_database_helper.cc |
+++ /dev/null |
@@ -1,240 +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 "chrome/browser/browsing_data_database_helper.h" |
- |
-#include "base/bind.h" |
-#include "base/callback.h" |
-#include "base/file_util.h" |
-#include "base/message_loop.h" |
-#include "base/utf_string_conversions.h" |
-#include "chrome/browser/browsing_data_helper.h" |
-#include "chrome/browser/profiles/profile.h" |
-#include "content/public/browser/browser_thread.h" |
-#include "net/base/completion_callback.h" |
-#include "net/base/net_errors.h" |
-#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebCString.h" |
-#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" |
-#include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h" |
- |
-using content::BrowserContext; |
-using content::BrowserThread; |
-using WebKit::WebSecurityOrigin; |
- |
-BrowsingDataDatabaseHelper::DatabaseInfo::DatabaseInfo( |
- const std::string& host, |
- const std::string& database_name, |
- const std::string& origin_identifier, |
- const std::string& description, |
- const std::string& origin, |
- int64 size, |
- base::Time last_modified) |
- : host(host), |
- database_name(database_name), |
- origin_identifier(origin_identifier), |
- description(description), |
- origin(origin), |
- size(size), |
- last_modified(last_modified) { |
-} |
- |
-BrowsingDataDatabaseHelper::DatabaseInfo::~DatabaseInfo() {} |
- |
-BrowsingDataDatabaseHelper::BrowsingDataDatabaseHelper(Profile* profile) |
- : is_fetching_(false), |
- tracker_(BrowserContext::GetDatabaseTracker(profile)) { |
-} |
- |
-BrowsingDataDatabaseHelper::~BrowsingDataDatabaseHelper() { |
-} |
- |
-void BrowsingDataDatabaseHelper::StartFetching( |
- const base::Callback<void(const std::list<DatabaseInfo>&)>& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- DCHECK(!is_fetching_); |
- DCHECK_EQ(false, callback.is_null()); |
- |
- is_fetching_ = true; |
- database_info_.clear(); |
- completion_callback_ = callback; |
- BrowserThread::PostTask( |
- BrowserThread::FILE, FROM_HERE, |
- base::Bind(&BrowsingDataDatabaseHelper::FetchDatabaseInfoOnFileThread, |
- this)); |
-} |
- |
-void BrowsingDataDatabaseHelper::DeleteDatabase(const std::string& origin, |
- const std::string& name) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- BrowserThread::PostTask( |
- BrowserThread::FILE, FROM_HERE, |
- base::Bind(&BrowsingDataDatabaseHelper::DeleteDatabaseOnFileThread, this, |
- origin, name)); |
-} |
- |
-void BrowsingDataDatabaseHelper::FetchDatabaseInfoOnFileThread() { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
- std::vector<webkit_database::OriginInfo> origins_info; |
- if (tracker_.get() && tracker_->GetAllOriginsInfo(&origins_info)) { |
- for (std::vector<webkit_database::OriginInfo>::const_iterator ori = |
- origins_info.begin(); ori != origins_info.end(); ++ori) { |
- WebSecurityOrigin web_security_origin = |
- WebSecurityOrigin::createFromDatabaseIdentifier(ori->GetOrigin()); |
- GURL origin_url(web_security_origin.toString().utf8()); |
- if (!BrowsingDataHelper::HasWebScheme(origin_url)) { |
- // Non-websafe state is not considered browsing data. |
- continue; |
- } |
- std::vector<string16> databases; |
- ori->GetAllDatabaseNames(&databases); |
- for (std::vector<string16>::const_iterator db = databases.begin(); |
- db != databases.end(); ++db) { |
- FilePath file_path = tracker_->GetFullDBFilePath(ori->GetOrigin(), *db); |
- base::PlatformFileInfo file_info; |
- if (file_util::GetFileInfo(file_path, &file_info)) { |
- database_info_.push_back(DatabaseInfo( |
- web_security_origin.host().utf8(), |
- UTF16ToUTF8(*db), |
- UTF16ToUTF8(ori->GetOrigin()), |
- UTF16ToUTF8(ori->GetDatabaseDescription(*db)), |
- origin_url.spec(), |
- file_info.size, |
- file_info.last_modified)); |
- } |
- } |
- } |
- } |
- |
- BrowserThread::PostTask( |
- BrowserThread::UI, FROM_HERE, |
- base::Bind(&BrowsingDataDatabaseHelper::NotifyInUIThread, this)); |
-} |
- |
-void BrowsingDataDatabaseHelper::NotifyInUIThread() { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- DCHECK(is_fetching_); |
- completion_callback_.Run(database_info_); |
- completion_callback_.Reset(); |
- is_fetching_ = false; |
- database_info_.clear(); |
-} |
- |
-void BrowsingDataDatabaseHelper::DeleteDatabaseOnFileThread( |
- const std::string& origin, |
- const std::string& name) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
- if (!tracker_.get()) |
- return; |
- tracker_->DeleteDatabase(UTF8ToUTF16(origin), UTF8ToUTF16(name), |
- net::CompletionCallback()); |
-} |
- |
-CannedBrowsingDataDatabaseHelper::PendingDatabaseInfo::PendingDatabaseInfo( |
- const GURL& origin, |
- const std::string& name, |
- const std::string& description) |
- : origin(origin), |
- name(name), |
- description(description) { |
-} |
- |
-CannedBrowsingDataDatabaseHelper::PendingDatabaseInfo::~PendingDatabaseInfo() {} |
- |
-bool CannedBrowsingDataDatabaseHelper::PendingDatabaseInfo::operator<( |
- const PendingDatabaseInfo& other) const { |
- if (origin == other.origin) |
- return name < other.name; |
- return origin < other.origin; |
-} |
- |
-CannedBrowsingDataDatabaseHelper::CannedBrowsingDataDatabaseHelper( |
- Profile* profile) |
- : BrowsingDataDatabaseHelper(profile), |
- profile_(profile) { |
-} |
- |
-CannedBrowsingDataDatabaseHelper* CannedBrowsingDataDatabaseHelper::Clone() { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- CannedBrowsingDataDatabaseHelper* clone = |
- new CannedBrowsingDataDatabaseHelper(profile_); |
- |
- base::AutoLock auto_lock(lock_); |
- clone->pending_database_info_ = pending_database_info_; |
- return clone; |
-} |
- |
-void CannedBrowsingDataDatabaseHelper::AddDatabase( |
- const GURL& origin, |
- const std::string& name, |
- const std::string& description) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- base::AutoLock auto_lock(lock_); |
- if (BrowsingDataHelper::HasWebScheme(origin)) { |
- pending_database_info_.insert(PendingDatabaseInfo( |
- origin, name, description)); |
- } |
-} |
- |
-void CannedBrowsingDataDatabaseHelper::Reset() { |
- base::AutoLock auto_lock(lock_); |
- pending_database_info_.clear(); |
-} |
- |
-bool CannedBrowsingDataDatabaseHelper::empty() const { |
- base::AutoLock auto_lock(lock_); |
- return pending_database_info_.empty(); |
-} |
- |
-size_t CannedBrowsingDataDatabaseHelper::GetDatabaseCount() const { |
- base::AutoLock auto_lock(lock_); |
- return pending_database_info_.size(); |
-} |
- |
-const std::set<CannedBrowsingDataDatabaseHelper::PendingDatabaseInfo>& |
-CannedBrowsingDataDatabaseHelper::GetPendingDatabaseInfo() { |
- return pending_database_info_; |
-} |
- |
-void CannedBrowsingDataDatabaseHelper::StartFetching( |
- const base::Callback<void(const std::list<DatabaseInfo>&)>& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- DCHECK(!is_fetching_); |
- DCHECK_EQ(false, callback.is_null()); |
- |
- is_fetching_ = true; |
- completion_callback_ = callback; |
- BrowserThread::PostTask( |
- BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, |
- base::Bind(&CannedBrowsingDataDatabaseHelper::ConvertInfoInWebKitThread, |
- this)); |
-} |
- |
-CannedBrowsingDataDatabaseHelper::~CannedBrowsingDataDatabaseHelper() {} |
- |
-void CannedBrowsingDataDatabaseHelper::ConvertInfoInWebKitThread() { |
- base::AutoLock auto_lock(lock_); |
- database_info_.clear(); |
- for (std::set<PendingDatabaseInfo>::const_iterator |
- info = pending_database_info_.begin(); |
- info != pending_database_info_.end(); ++info) { |
- WebSecurityOrigin web_security_origin = |
- WebSecurityOrigin::createFromString( |
- UTF8ToUTF16(info->origin.spec())); |
- std::string origin_identifier = |
- web_security_origin.databaseIdentifier().utf8(); |
- |
- database_info_.push_back(DatabaseInfo( |
- web_security_origin.host().utf8(), |
- info->name, |
- origin_identifier, |
- info->description, |
- web_security_origin.toString().utf8(), |
- 0, |
- base::Time())); |
- } |
- |
- BrowserThread::PostTask( |
- BrowserThread::UI, FROM_HERE, |
- base::Bind(&CannedBrowsingDataDatabaseHelper::NotifyInUIThread, this)); |
-} |