Chromium Code Reviews| 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() { |