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

Unified Diff: chrome/browser/bookmarks/bookmark_storage.cc

Issue 242693003: Introduce BookmarkClient interface to abstract embedder (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 8 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/bookmarks/bookmark_storage.cc
diff --git a/chrome/browser/bookmarks/bookmark_storage.cc b/chrome/browser/bookmarks/bookmark_storage.cc
index b07cd0b677d82a264548fe8cbf65fcb4fb1e002e..a7dc118eb97c85fd351ecef52085daa2edb5fbd9 100644
--- a/chrome/browser/bookmarks/bookmark_storage.cc
+++ b/chrome/browser/bookmarks/bookmark_storage.cc
@@ -11,17 +11,16 @@
#include "base/json/json_file_value_serializer.h"
#include "base/json/json_string_value_serializer.h"
#include "base/metrics/histogram.h"
+#include "base/sequenced_task_runner.h"
#include "base/time/time.h"
#include "chrome/browser/bookmarks/bookmark_codec.h"
#include "chrome/browser/bookmarks/bookmark_index.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
+#include "components/bookmarks/core/browser/bookmark_client.h"
#include "components/bookmarks/core/common/bookmark_constants.h"
#include "components/startup_metric_utils/startup_metric_utils.h"
-#include "content/public/browser/browser_context.h"
-#include "content/public/browser/browser_thread.h"
using base::TimeTicks;
-using content::BrowserThread;
namespace {
@@ -50,7 +49,8 @@ void AddBookmarksToIndex(BookmarkLoadDetails* details,
void LoadCallback(const base::FilePath& path,
BookmarkStorage* storage,
- BookmarkLoadDetails* details) {
+ BookmarkLoadDetails* details,
+ base::SequencedTaskRunner* task_runner) {
startup_metric_utils::ScopedSlowStartupUMA
scoped_timer("Startup.SlowStartupBookmarksLoad");
bool bookmark_file_exists = base::PathExists(path);
@@ -85,9 +85,8 @@ void LoadCallback(const base::FilePath& path,
}
}
- BrowserThread::PostTask(
- BrowserThread::UI, FROM_HERE,
- base::Bind(&BookmarkStorage::OnLoadFinished, storage));
+ task_runner->PostTask(FROM_HERE,
+ base::Bind(&BookmarkStorage::OnLoadFinished, storage));
}
} // namespace
@@ -116,11 +115,11 @@ BookmarkLoadDetails::~BookmarkLoadDetails() {
// BookmarkStorage -------------------------------------------------------------
BookmarkStorage::BookmarkStorage(
- content::BrowserContext* context,
BookmarkModel* model,
+ const base::FilePath& profile_path,
base::SequencedTaskRunner* sequenced_task_runner)
: model_(model),
- writer_(context->GetPath().Append(bookmarks::kBookmarksFileName),
+ writer_(profile_path.Append(bookmarks::kBookmarksFileName),
sequenced_task_runner) {
sequenced_task_runner_ = sequenced_task_runner;
writer_.set_commit_interval(base::TimeDelta::FromMilliseconds(kSaveDelayMS));
@@ -133,14 +132,18 @@ BookmarkStorage::~BookmarkStorage() {
writer_.DoScheduledWrite();
}
-void BookmarkStorage::LoadBookmarks(BookmarkLoadDetails* details) {
+void BookmarkStorage::LoadBookmarks(
+ BookmarkLoadDetails* details,
+ const scoped_refptr<base::SequencedTaskRunner>& task_runner) {
DCHECK(!details_.get());
DCHECK(details);
details_.reset(details);
- sequenced_task_runner_->PostTask(
- FROM_HERE,
- base::Bind(&LoadCallback, writer_.path(), make_scoped_refptr(this),
- details_.get()));
+ sequenced_task_runner_->PostTask(FROM_HERE,
+ base::Bind(&LoadCallback,
+ writer_.path(),
+ make_scoped_refptr(this),
+ details_.get(),
+ task_runner));
}
void BookmarkStorage::ScheduleSave() {

Powered by Google App Engine
This is Rietveld 408576698