2 things:
1. The IDL file is missing a spec link, is this what should be added https://www.khronos.org/registry/webgl/extensions/ANGLE_instanced_arrays/?
2. Gecko and IE have the interface name match with the spec (link above), but Blink and WebKit don't. I suspect we should rename it to match the spec too?
This is deliberately NoInterfaceObject. The name of the extension type is not supposed to matter. In Blink I think we chose the naming convention of the browser, while the spec uses the OpenGL style with underscores between the words. Is this a big deal or may I close this as WontFix?
The name of an interface can be observed even with [NoInterfaceObject], given an instance it will toString() to either "[object ANGLE_instanced_arrays]" or "[object ANGLEInstancedArrays]".
This is certainly not a big deal, but would be nice to avoid. Are there more interfaces like this related to WebGL? Would using [ImplementedAs=ANGLEInstancedArrays] in the IDL file work?
All of the WebGL extensions are exposed in this manner. The class names in the official IDL were chosen to follow the naming convention of the OpenGL extensions -- i.e., first name in all caps, underscores separating the rest of the identifiers.
However, since this naming convention didn't match Chromium's or Blink's, our group took the liberty of diverging from the official IDL.
If renaming the IDL files and using the ImplementedAs= directive would work, we could do that.
Cc: markdittmer@chromium.org Summary: Rename ANGLEInstancedArrays to ANGLE_instanced_arrays (was: Rename ANGLEInstancedArrays to ANGLE_instanced_arrays?)
I started adding some spec links today and noticed, as you say, that there are lots of interfaces like this.
If the names match up then markdittmer@'s tooling will be able to notice differences between our IDL and what we link to, and I've spotted a few differences manually.
Using ImplementedAs= means that the files won't sit nicely together in a file listing. If that's a concern we could perhaps tweak the bindings generator to allow the mismatch between interface name and file name.
Summary: Rename ANGLEInstancedArrays to ANGLE_instanced_arrays (and similar for other WebGL extensions) (was: Rename ANGLEInstancedArrays to ANGLE_instanced_arrays)
FWIW, the names in Blink are definitely more webby than "correct" names. How much of a mess is it to get things changed in WebGL?
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.
Sorry for the inconvenience if the bug really should have been left as Available.
For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Comment 1 by kbr@chromium.org
, Mar 29 2017