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

Unified Diff: components/history/core/browser/top_sites_backend.cc

Issue 870063002: Componentize TopSites, TopSitesBackend, TopSitesDatabase (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@815983002
Patch Set: Fix typo Created 5 years, 11 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: components/history/core/browser/top_sites_backend.cc
diff --git a/chrome/browser/history/top_sites_backend.cc b/components/history/core/browser/top_sites_backend.cc
similarity index 70%
rename from chrome/browser/history/top_sites_backend.cc
rename to components/history/core/browser/top_sites_backend.cc
index fdecd1c869ef93b657aa09365ea803e89e31f791..97fa8487f53441cde2dcc595aca41eefa4f64307 100644
--- a/chrome/browser/history/top_sites_backend.cc
+++ b/components/history/core/browser/top_sites_backend.cc
@@ -2,80 +2,72 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/history/top_sites_backend.h"
+#include "components/history/core/browser/top_sites_backend.h"
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/files/file_path.h"
+#include "base/location.h"
#include "base/memory/ref_counted.h"
+#include "base/single_thread_task_runner.h"
#include "base/task/cancelable_task_tracker.h"
-#include "chrome/browser/history/top_sites_database.h"
-#include "content/public/browser/browser_thread.h"
+#include "components/history/core/browser/top_sites_database.h"
#include "sql/connection.h"
-using content::BrowserThread;
-
namespace history {
-TopSitesBackend::TopSitesBackend()
- : db_(new TopSitesDatabase()) {
+TopSitesBackend::TopSitesBackend(
+ const scoped_refptr<base::SingleThreadTaskRunner>& db_task_runner)
+ : db_(new TopSitesDatabase()), db_task_runner_(db_task_runner) {
+ DCHECK(db_task_runner_);
}
void TopSitesBackend::Init(const base::FilePath& path) {
db_path_ = path;
- BrowserThread::PostTask(
- BrowserThread::DB, FROM_HERE,
- base::Bind(&TopSitesBackend::InitDBOnDBThread, this, path));
+ db_task_runner_->PostTask(
+ FROM_HERE, base::Bind(&TopSitesBackend::InitDBOnDBThread, this, path));
}
void TopSitesBackend::Shutdown() {
- BrowserThread::PostTask(
- BrowserThread::DB, FROM_HERE,
- base::Bind(&TopSitesBackend::ShutdownDBOnDBThread, this));
+ db_task_runner_->PostTask(
+ FROM_HERE, base::Bind(&TopSitesBackend::ShutdownDBOnDBThread, this));
}
void TopSitesBackend::GetMostVisitedThumbnails(
const GetMostVisitedThumbnailsCallback& callback,
base::CancelableTaskTracker* tracker) {
scoped_refptr<MostVisitedThumbnails> thumbnails = new MostVisitedThumbnails();
-
tracker->PostTaskAndReply(
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB).get(),
- FROM_HERE,
- base::Bind(&TopSitesBackend::GetMostVisitedThumbnailsOnDBThread,
- this,
+ db_task_runner_.get(), FROM_HERE,
+ base::Bind(&TopSitesBackend::GetMostVisitedThumbnailsOnDBThread, this,
thumbnails),
base::Bind(callback, thumbnails));
}
void TopSitesBackend::UpdateTopSites(const TopSitesDelta& delta) {
- BrowserThread::PostTask(
- BrowserThread::DB, FROM_HERE,
+ db_task_runner_->PostTask(
+ FROM_HERE,
base::Bind(&TopSitesBackend::UpdateTopSitesOnDBThread, this, delta));
}
void TopSitesBackend::SetPageThumbnail(const MostVisitedURL& url,
int url_rank,
const Images& thumbnail) {
- BrowserThread::PostTask(
- BrowserThread::DB, FROM_HERE,
- base::Bind(&TopSitesBackend::SetPageThumbnailOnDBThread, this, url,
- url_rank, thumbnail));
+ db_task_runner_->PostTask(
+ FROM_HERE, base::Bind(&TopSitesBackend::SetPageThumbnailOnDBThread, this,
+ url, url_rank, thumbnail));
}
void TopSitesBackend::ResetDatabase() {
- BrowserThread::PostTask(
- BrowserThread::DB, FROM_HERE,
+ db_task_runner_->PostTask(
+ FROM_HERE,
base::Bind(&TopSitesBackend::ResetDatabaseOnDBThread, this, db_path_));
}
void TopSitesBackend::DoEmptyRequest(const base::Closure& reply,
base::CancelableTaskTracker* tracker) {
- tracker->PostTaskAndReply(
- BrowserThread::GetMessageLoopProxyForThread(BrowserThread::DB).get(),
- FROM_HERE,
- base::Bind(&base::DoNothing),
- reply);
+ tracker->PostTaskAndReply(db_task_runner_.get(), FROM_HERE,
+ base::Bind(&base::DoNothing), reply);
}
TopSitesBackend::~TopSitesBackend() {
@@ -84,7 +76,7 @@ TopSitesBackend::~TopSitesBackend() {
}
void TopSitesBackend::InitDBOnDBThread(const base::FilePath& path) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB));
+ DCHECK(db_task_runner_->BelongsToCurrentThread());
if (!db_->Init(path)) {
LOG(ERROR) << "Failed to initialize database.";
db_.reset();
@@ -92,13 +84,13 @@ void TopSitesBackend::InitDBOnDBThread(const base::FilePath& path) {
}
void TopSitesBackend::ShutdownDBOnDBThread() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB));
+ DCHECK(db_task_runner_->BelongsToCurrentThread());
db_.reset();
}
void TopSitesBackend::GetMostVisitedThumbnailsOnDBThread(
scoped_refptr<MostVisitedThumbnails> thumbnails) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB));
+ DCHECK(db_task_runner_->BelongsToCurrentThread());
if (db_) {
db_->GetPageThumbnails(&(thumbnails->most_visited),
@@ -130,7 +122,7 @@ void TopSitesBackend::SetPageThumbnailOnDBThread(const MostVisitedURL& url,
}
void TopSitesBackend::ResetDatabaseOnDBThread(const base::FilePath& file_path) {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB));
+ DCHECK(db_task_runner_->BelongsToCurrentThread());
db_.reset(NULL);
sql::Connection::Delete(db_path_);
db_.reset(new TopSitesDatabase());
« no previous file with comments | « components/history/core/browser/top_sites_backend.h ('k') | components/history/core/browser/top_sites_database.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698