Support rvalue-reference Runnables in base::Bind internals

This is a preparation of base::Bind for move-only variants of Callback,
and also a preparation of the oneshot variant of Callback.

On InvokeHelper mod, this CL moves Runnable from a class template
parameter to a function template parameter of InvokeHelper::MakeItSo,
so that it can run &&-qualified Run() method via rvalue-reference
Runnable.

On BindState mod, BindState ctor will forward Runnable as Perfect
Forwarding into its internal storage. So that BindState can hold
move-only Runnable into it.

BUG=554299

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


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