webnn: Give an MLBuffer an MLOperandDescriptor
This CL gives MLBufferDescriptor an MLOperandDescriptor as per
webmachinelearning/webnn#542
To represent this descriptor, this CL also creates a new typemapped
OperandDescriptor type which ensures that the buffer descriptor is
valid. OperandDescriptor will be used more pervasively within WebNN
in follow-up CLs
- Move Operand::DataType to DataType (MERGED)
- Create a typemapped OperandDescriptor class for MLBuffer <-- this CL
- Use OperandDescriptor in mojom::Operand
4+) Remove duplicate code (especially with //components)
Fuchsia binary size seems to be unavoidable for now, and I suspect
may be temporary once duplicate code is removed in follow-ups.
bloaty shows a binary size increase primarily in
//t/b/r/m/ml/webnn/ml_graph_type_converter.cc, as well as a handful
of other renderer-side files which depend on the mojom component
Bug: 343638938, 325598628
Fuchsia-Binary-Size: See commit description
Cq-Include-Trybots: luci.chromium.try:win11-blink-rel
Change-Id: I775340f5c5e0e80942332cbae750d0d305cdd458
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5604163
Reviewed-by: ningxin hu ningxin.hu@intel.com
Commit-Queue: Austin Sullivan asully@chromium.org
Reviewed-by: Alex Gough ajgo@chromium.org
Reviewed-by: Reilly Grant reillyg@chromium.org
Cr-Commit-Position: refs/heads/main@{#1315553}