Chromium Code Reviews| Index: base/message_loop/message_loop.cc |
| diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc |
| index 1581f6cfb4b494b543a4574c2ca786f18f631188..671d2066be9509e87b7cdd94418b71f7ecef6516 100644 |
| --- a/base/message_loop/message_loop.cc |
| +++ b/base/message_loop/message_loop.cc |
| @@ -357,7 +357,7 @@ std::string MessageLoop::GetThreadName() const { |
| void MessageLoop::SetTaskRunner( |
| scoped_refptr<SingleThreadTaskRunner> task_runner) { |
| DCHECK_EQ(this, current()); |
| - DCHECK(task_runner->BelongsToCurrentThread()); |
| + DCHECK(!task_runner || task_runner->BelongsToCurrentThread()); |
| DCHECK(!unbound_task_runner_); |
| task_runner_ = std::move(task_runner); |
| SetThreadTaskRunnerHandle(); |
| @@ -368,7 +368,8 @@ void MessageLoop::SetThreadTaskRunnerHandle() { |
| // Clear the previous thread task runner first, because only one can exist at |
| // a time. |
| thread_task_runner_handle_.reset(); |
| - thread_task_runner_handle_.reset(new ThreadTaskRunnerHandle(task_runner_)); |
| + if (task_runner_) |
|
robliao
2016/12/09 01:32:54
Should we DCHECK here? Seems unexpected to silentl
fdoray
2016/12/09 16:26:41
It is intentional to have no ThreadTaskRunnerHandl
|
| + thread_task_runner_handle_.reset(new ThreadTaskRunnerHandle(task_runner_)); |
| } |
| void MessageLoop::RunHandler() { |