base/memory: Add UnsafeSharedMemoryRegion::CreateFromHandle.

Create an UnsafeSharedMemoryRegion from a SharedMemoryHandle. This
creation method is only needed while transitioning to the new shared
memory API.

This enables in particular the media code to not add a dependency on
mojo, via WritableUnalignedMapping. This dependency has caused
problems, eg crbug.com/874074 and crbug.com/871429.

Bug: 795291
Change-Id: Ie0603e55afac9d853d371548a99475d763034fa5
Reviewed-on: https://chromium-review.googlesource.com/1183910
Commit-Queue: Matthew Cary <mattcary@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585886}
11 files changed