Introduce RunLoop::Delegate splitting RunLoop/MessageLoop some more.

Separates RunLoop/MessageLoop further. Still some interdependencies to address
but this drops friend class RunLoop; from MessageLoop :).

It also moves the relevant state from TLS back onto the MessageLoop instance
(hidden as private data in RunLoop::Delegate). This is easier to manage
and ensures cleanup when MessageLoop goes away (particularly important in unit
tests).

BUG=703346, 719530
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;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

TBR=phajdan.jr@chromium.org for content\public\test\cache_test_util.h fwd-decl nit

Review-Url: https://codereview.chromium.org/2880453003
Cr-Commit-Position: refs/heads/master@{#472695}


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