| Index: components/bookmarks/browser/bookmark_storage.cc
|
| diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookmarks/browser/bookmark_storage.cc
|
| index 50e066920be9f80122b59500ead61e71d4c75aaf..f2f1f1bc588801387823b30692d5582b82e21c7f 100644
|
| --- a/components/bookmarks/browser/bookmark_storage.cc
|
| +++ b/components/bookmarks/browser/bookmark_storage.cc
|
| @@ -49,7 +49,7 @@
|
|
|
| void LoadCallback(const base::FilePath& path,
|
| const base::WeakPtr<BookmarkStorage>& storage,
|
| - scoped_ptr<BookmarkLoadDetails> details,
|
| + BookmarkLoadDetails* details,
|
| base::SequencedTaskRunner* task_runner) {
|
| startup_metric_utils::ScopedSlowStartupUMA
|
| scoped_timer("Startup.SlowStartupBookmarksLoad");
|
| @@ -96,18 +96,17 @@
|
|
|
| if (load_index) {
|
| TimeTicks start_time = TimeTicks::Now();
|
| - AddBookmarksToIndex(details.get(), details->bb_node());
|
| - AddBookmarksToIndex(details.get(), details->other_folder_node());
|
| - AddBookmarksToIndex(details.get(), details->mobile_folder_node());
|
| + AddBookmarksToIndex(details, details->bb_node());
|
| + AddBookmarksToIndex(details, details->other_folder_node());
|
| + AddBookmarksToIndex(details, details->mobile_folder_node());
|
| for (size_t i = 0; i < extra_nodes.size(); ++i)
|
| - AddBookmarksToIndex(details.get(), extra_nodes[i]);
|
| + AddBookmarksToIndex(details, extra_nodes[i]);
|
| UMA_HISTOGRAM_TIMES("Bookmarks.CreateBookmarkIndexTime",
|
| TimeTicks::Now() - start_time);
|
| }
|
|
|
| task_runner->PostTask(FROM_HERE,
|
| - base::Bind(&BookmarkStorage::OnLoadFinished, storage,
|
| - base::Passed(&details)));
|
| + base::Bind(&BookmarkStorage::OnLoadFinished, storage));
|
| }
|
|
|
| } // namespace
|
| @@ -163,11 +162,14 @@
|
| void BookmarkStorage::LoadBookmarks(
|
| scoped_ptr<BookmarkLoadDetails> details,
|
| const scoped_refptr<base::SequencedTaskRunner>& task_runner) {
|
| + DCHECK(!details_.get());
|
| + DCHECK(details);
|
| + details_ = details.Pass();
|
| sequenced_task_runner_->PostTask(FROM_HERE,
|
| base::Bind(&LoadCallback,
|
| writer_.path(),
|
| weak_factory_.GetWeakPtr(),
|
| - base::Passed(&details),
|
| + details_.get(),
|
| task_runner));
|
| }
|
|
|
| @@ -191,11 +193,11 @@
|
| return serializer.Serialize(*(value.get()));
|
| }
|
|
|
| -void BookmarkStorage::OnLoadFinished(scoped_ptr<BookmarkLoadDetails> details) {
|
| +void BookmarkStorage::OnLoadFinished() {
|
| if (!model_)
|
| return;
|
|
|
| - model_->DoneLoading(details.Pass());
|
| + model_->DoneLoading(details_.Pass());
|
| }
|
|
|
| bool BookmarkStorage::SaveNow() {
|
|
|