Revert of base: Make it possible to replace the MessageLoop's task runner (patchset #7 id:120001 of https://codereview.chromium.org/998063002/)
Reason for revert:
Reverting this CL because of https://crbug.com/508789
Please fix and test using the linux_chromium_tsan_rel_ng trybot.
Original issue's description:
> base: Make it possible to replace the MessageLoop's task runner
>
> This patch makes it possible to customize the task posting behavior
> of a MessageLoop. More specifically, a client can change the value
> returned by MessageLoop::task_runner() as well as
> ThreadTaskRunnerHandle::Get() on the target thread. The original task
> runner can still be used to post tasks to be run on the message loop.
>
> The Blink/renderer scheduler will use this functionality to manage task
> posting on the renderer main thread. This is needed to ensure consistent
> ordering of tasks posted through the MessageLoop w.r.t. tasks posted to
> the scheduler.
>
> Design doc: https://docs.google.com/a/chromium.org/document/d/1qxdh2I61_aB_Uzh1QgNqvdWFBCL_E65G2smoSySw7KU/edit#
>
> Alex Clarke <alexclarke@chromium.org> also contributed to this patch (https://codereview.chromium.org/1206893003/).
>
> BUG=465354
>
> Committed: https://crrev.com/698e77997894bf823c45ad1d6e0764fa93e2f3c1
> Cr-Commit-Position: refs/heads/master@{#337799}
TBR=jam@chromium.org,danakj@chromium.org,alexclarke@google.com,kinuko@chromium.org,skyostil@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=465354
Review URL: https://codereview.chromium.org/1223193004
Cr-Commit-Position: refs/heads/master@{#338484}
CrOS-Libchrome-Original-Commit: 3dd3cd58b7bcd8efe40552a1bb9a9cc2a3679405
diff --git a/base/message_loop/message_loop.h b/base/message_loop/message_loop.h
index 3445a77..9429e6b 100644
--- a/base/message_loop/message_loop.h
+++ b/base/message_loop/message_loop.h
@@ -296,16 +296,9 @@
const std::string& thread_name() const { return thread_name_; }
// Gets the TaskRunner associated with this message loop.
- const scoped_refptr<SingleThreadTaskRunner>& task_runner() {
- return task_runner_;
- }
-
- // Sets a new TaskRunner for this message loop. The message loop must already
- // have been bound to a thread prior to this call, and the task runner must
- // belong to that thread. Note that changing the task runner will also affect
- // the ThreadTaskRunnerHandle for the target thread. Must be called on the
- // thread to which the message loop is bound.
- void SetTaskRunner(scoped_refptr<SingleThreadTaskRunner> task_runner);
+ // TODO(skyostil): Change this to return a const reference to a refptr
+ // once the internal type matches what is being returned (crbug.com/465354).
+ scoped_refptr<SingleThreadTaskRunner> task_runner() { return task_runner_; }
// Enables or disables the recursive task processing. This happens in the case
// of recursive message loops. Some unwanted message loop may occurs when
@@ -528,11 +521,8 @@
scoped_refptr<internal::IncomingTaskQueue> incoming_task_queue_;
- // A task runner which we haven't bound to a thread yet.
- scoped_refptr<internal::MessageLoopTaskRunner> unbound_task_runner_;
-
// The task runner associated with this message loop.
- scoped_refptr<SingleThreadTaskRunner> task_runner_;
+ scoped_refptr<internal::MessageLoopTaskRunner> task_runner_;
scoped_ptr<ThreadTaskRunnerHandle> thread_task_runner_handle_;
template <class T, class R> friend class base::subtle::DeleteHelperInternal;