Make IPC listener task runner changeable

This CL adds an argument for listener task runner to
IPC::ChannelProxy::Create and IPC::SyncChannel::Create so that we
can have more flexible task scheduling. Now all arguments are
base::ThreadTaskRunnerHandle::Get() and this CL doesn't change the
behavior. This CL is just a preparation.

We've already known that channel proxy's OnMessageReceivedNoFilter
posts the most heaviest tasks to the listener task runner.

Doc: https://docs.google.com/document/d/1yOhE6-1HLb3aeNWmoa9O2LlnegWjd4awYUn2OhUL4vk/edit#

Bug: 780785
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ia0d798c55aeb739d7150e9368350ecd28f4159c6
Reviewed-on: https://chromium-review.googlesource.com/750922
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515115}

CrOS-Libchrome-Original-Commit: ff15e975de135dd54b1572e5b9a53f47e8a0df7a
10 files changed
tree: d49ac7f58dbc1a8bb6c4670c701a99727573084a
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/