Chromium Code Reviews| Index: chrome/browser/bookmarks/bookmark_html_writer.cc |
| diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc |
| index 5bfecb94303cda68a4b3810baf2c4e3b257a93fe..f9027cd9e271b4a16179576920c595dde3c7407d 100644 |
| --- a/chrome/browser/bookmarks/bookmark_html_writer.cc |
| +++ b/chrome/browser/bookmarks/bookmark_html_writer.cc |
| @@ -19,6 +19,7 @@ |
| #include "base/single_thread_task_runner.h" |
| #include "base/strings/string_number_conversions.h" |
| #include "base/strings/string_util.h" |
| +#include "base/task_scheduler/post_task.h" |
| #include "base/threading/thread_task_runner_handle.h" |
| #include "base/time/time.h" |
| #include "base/values.h" |
| @@ -449,8 +450,12 @@ void BookmarkFaviconFetcher::ExecuteWriter() { |
| // for the duration of the write), as such we make a copy of the |
| // BookmarkModel using BookmarkCodec then write from that. |
| BookmarkCodec codec; |
| - BrowserThread::PostTask( |
| - BrowserThread::FILE, FROM_HERE, |
| + // TODO(https://crbug.com/676387) make this sequenced when 676387 is fixed. |
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner_ = |
|
sky
2017/05/22 16:40:46
Forgive my ignorance, but what happens if ExecuteW
Sébastien Marchand
2017/05/22 17:19:17
+fdoray@/robliao@ as I'm not entirely sure, one so
robliao
2017/05/22 17:27:25
As coded here, if ExecuteRunner is executed twice
sky
2017/05/22 17:33:55
While likely rare, we should make sure there aren'
Sébastien Marchand
2017/05/23 16:56:48
One way to do this would be to add a SequencedTask
gab
2017/05/23 17:17:00
I agree with sky that although there's only one ca
|
| + base::CreateSingleThreadTaskRunnerWithTraits( |
| + {base::MayBlock(), base::TaskPriority::BACKGROUND}); |
| + task_runner_->PostTask( |
| + FROM_HERE, |
| base::BindOnce( |
| &Writer::DoWrite, |
| new Writer(codec.Encode( |