Reland support for Mojom message ID scrambling

For now we just use the contents of //chrome/VERSION as the salt
rather than generating a salt from the build datetime. This keeps
the build deterministic.

This CL also limits application of scrambled message IDs to desktop
builds for Windows, Mac, and (non-Chrome OS) Linux.

Finally this adds support for a second supplementary salt file to
be appended to the base salt. This can be used in the future to, e.g.,
augment the public version salt with a private static salt at
official build time.

BUG=673417

Change-Id: Ieb7efcb261d75beb46d463af424a60d37556b009
Reviewed-on: https://chromium-review.googlesource.com/693037
Commit-Queue: Ken Rockot <rockot@chromium.org>
Reviewed-by: Yuzhu Shen <yzshen@chromium.org>
Reviewed-by: Joe Mason <joenotcharles@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505941}

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