tree 46dabe508ab4734be85bbc6206db1e05e032cafb
parent 0a814ed5512598e595c0ae7975a09d90a7a54e90
author Viet-Trung Luu <viettrungluu@chromium.org> 1459295513 -0700
committer Viet-Trung Luu <viettrungluu@chromium.org> 1459295513 -0700

Update monet.

Note: Stuff updated from the Mojo repo are from revision
d26dd21f9bf81fca64a5c1c6d50837c41ae2d87c.

* Copy //build from the Mojo repo, including //build/{config,toolchain}
  (don't deps these in anymore).
* Roll buildtools to the same version as in the Mojo repo.
* Deps in base (same revision as in the Mojo repo).
* Roll the Mojo SDK and devtools.
* Update //testing (to be the same as in the Mojo repo).
* Update //tools (to be the same as in the Mojo repo).
* Download android_tools and sdkextras as in the Mojo repo.
* Roll ICU (as in the Mojo repo).
* Pull in the mojom_tool (as in the Mojo repo).
* Update //third_party/zlib (as in the Mojo repo).
* Add "-Wno-inconsistent-missing-override" for gmock (in
  //build/secondary/testing/gmock/BUILD.gn -- not sure why Chromium
  //doesn't seem to need this; note that rolling gmock doesn't help).
* Update //mojo/common, etc. (//mojo/common was split in the Mojo repo
  -- so bring in all the new things we need).
* Update //crypto to 8671da6fbbbbacc09e473b8dc1b6c1ce4bb446ec
  (corresponds to the last sync of //base from Chromium), and just check
  it in instead of deps-ing it in).
* Tons of base:: namespace updates (related to the //base update). Also
  MessageLoopProxy removal.
* Disable a few things that we (probably) don't care about, like
  "net_javatests". (It'd require work to get it to build with the
  Android SDK 23.)

R=jamesr@chromium.org

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