Make the new Mojo EDK work on XP.

Main points to note:
-child processes started by Mojo inherit all inheritable handles. This isn't good security wise, but is needed because UpdateProcThreadAttribute doesn't exist on XP. I added a CHECK to ensure we don't use this code in production.
-when sending a pipe, if there's a pending read then we block the current thread to call CancelIo on the IO thread. This is because CancelIOEx, which cancels process-wide, doesn't exist. In practice, this is not a major concern because we only start reading from a pipe once the mojo primitive is read/written to, and once that happens we almost never send the pipe.

BUG=478251

Review URL: https://codereview.chromium.org/1441853003

Cr-Commit-Position: refs/heads/master@{#359632}


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