- From: David Flanagan <dflanagan@mozilla.com>
- Date: Mon, 20 Jun 2011 10:39:18 -0700
- To: public-script-coord@w3.org
The WebIDL draft specifies that an array type such as Attr[] (used by the DOM Core Element.attributes attribute) has the name "AttrArray" but it doesn't seem to require that there be an AttrArray interface object in the global scope as it does for regular interfaces. On the other hand, instances of AttrArray don't inherit directly from Array.protoype. Instead there is an array host object prototype object on the inheritance chain before Array.prototype. This suggests to me that perhaps the intent (not yet codified in the spec) is that this prototype object should be accessible as AttrArray.prototype. As it stands now, if you want to define a property to be inherited by AttrArrays (and only AttrArrays) you'd have to first obtain an instance of AttrArray and use Object.getPrototypeOf() on it, which seems awkward. If individual array types can be individually monkeypatched, then I think they deserve a public interface object. On the other hand, if they don't have a public interface object, then wouldn't it be simpler to have them inherit directly from Array.prototype? David
Received on Monday, 20 June 2011 17:39:48 UTC