As currently written, the WebIDL spec seems to require [Callback]
interfaces to define an interface object and a prototype object, and to
define properties on the prototype object, as if there will be host
objects that will actually inherit those properties. What is the point,
for example, of defining EventListener.prototype.handleEvent, for
example? What should it do if invoked?
Are there any specs currently using [Callback] for interfaces that exist
as both host objects and native JavaScript implementations? Are there
any specs that define [Callback] interfaces that have constants?
If not, it sure would be simpler to say that the [Callback] attribute
implies the [NoInterfaceObject] attribute.
David