Mojo C++ bindings: support enum validation.

By default, enums are not extensible, which means any unknown value will fail validation. If an enum may grow in the future, it needs to have [Extensible=True] attribute specified. In that case, the user code is responsible for handling unknown values properly.

This CL doesn't add corresponding validation for JS or Java.

BUG=404186

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

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


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