This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
See discussion starting at <http://krijnhoetmer.nl/irc-logs/developers/20120424#l-1470>. In particular, those objects need not have a length property
http://krijnhoetmer.nl/irc-logs/whatwg/20120424#l-372
OK, so two things to fix here: 1. We shouldn't look up a "length" property on a platform object that has indexed properties when we want to know how many there are, since that property from the prototype could be changed. Instead, we should just know internally how many indexed properties there are. 2. We should always expose a "length" property on objects that have indexed properties, and not have to define an IDL attribute for it. If we do this, then we should require indexed properties not to be sparse (which I think they currently can be). Boris mentioned that it might be better to have "length" exposed as a data property rather than an accessor property (and if we do that, then it'll need to be on the object itself rather than on the prototype). Is anyone opposed to doing that?
I'm no longer entirely sure it's a good idea, for what it's worth...
One disadvantage to having "length" automatically be on the prototype is that there's no way in the IDL to indicate whether this is writable. It's clear if you have to explicitly include: attribute unsigned long length;
Oh, #2 is bug 16833 actually. I did #1: http://dev.w3.org/cvsweb/2006/webapi/WebIDL/Overview.xml.diff?r1=1.530;r2=1.531;f=h so I'll mark this bug fixed.