[reland] Mojo: Introduce public PlatformHandle type

Reland of r560866, which was missing an include for Fuchsia in some
configs.

Adds mojo/public/cpp/platform to the public library. This includes
a new PlatformHandle type, a thin C++ abstraction for platform-specific
scoped handle values.

This is a precursor to moving platform channel C++ types out of the EDK
and into the public library, and ultimately introducing a public C++
invitation API to replace the EDK invitation API.

TBR=jcivelli@chromium.org

Bug: 844764
Change-Id: I86a04e27afd1c7ec7a3c1d419f10239d4b78c850
Reviewed-on: https://chromium-review.googlesource.com/1069839
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560915}

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