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) { |
sky
2014/04/18 17:05:04
Shouldn't this take a scoped_refptr?
sdefresne
2014/04/18 22:25:49
The object returned by Base::Bind store the task_r
|
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() { |