Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2386)

Unified Diff: base/message_loop/message_loop.cc

Issue 2557083002: Run ScopedTaskScheduler tasks synchronously. (Closed)
Patch Set: add owners Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());
dcheng 2016/12/15 06:47:36 I would prefer we limit the API changes here to be
fdoray 2016/12/15 16:39:31 Done.
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_)
+ thread_task_runner_handle_.reset(new ThreadTaskRunnerHandle(task_runner_));
}
void MessageLoop::RunHandler() {

Powered by Google App Engine
This is Rietveld 408576698