Chromium changes:
https://chromium.googlesource.com/chromium/src/+/a1c3e6338a3e6742b0195c672f61ac8019ab66e4
commit a1c3e6338a3e6742b0195c672f61ac8019ab66e4
Author: Jan Wilken Dörrie <jdoerrie@chromium.org>
Date: Tue Mar 31 09:48:53 2026 -0700
[mojo] Remove support for legacy EnumTraits signatures
This change removes the remaining support for the legacy Mojo EnumTraits
FromMojom signature. Previously, these traits used a non-idiomatic
C-style pattern with a boolean return value and an out-parameter for the
converted value.
To modernize the Mojo C++ bindings, all EnumTraits specializations have
been migrated to return the converted type directly for infallible
conversions, or wrapped in a std::optional for fallible ones. This
update finalizes the transition by:
- Enforcing the new return-by-value or return-by-optional signature in
the Mojo C++ template generator.
- Removing the legacy template branches that supported out-parameters.
- Deleting obsolete overloads of internal helpers ConvertEnumValue and
DeserializeEnum.
- Migrating the final set of trait specializations across the codebase,
including those in cc/, skia/, and ui/.
Fixed: 483092898
Change-Id: I7a5edc0a22157d7670e8c8f73e7db8c56a6a6964
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7712053
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Owners-Override: Daniel Cheng <dcheng@chromium.org>
Auto-Submit: Jan Wilken Dörrie <jdoerrie@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1607926}