This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The spec reads: "The interface object for a non-callback interface must also have a property named “prototype” with attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false } whose value is an object called the interface prototype object." I think the above is a statement of fact, and not a conformance requirement. It's also a bit ambiguous. Can it be rewritten as : The interface prototype object for a non-callback interface has a property named “prototype” with attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false } and whose [[Value]] is of type "Object"."
You're right that interface objects will have a prototype property regardless, just due to the fact that they are Function objects. But I think that interface objects for callback interfaces shouldn't be Function objects -- it'd probably be strange if they are, given that they're required not to have a prototype property and really just exist as a place to put constants. I've reworded: http://dev.w3.org/cvsweb/2006/webapi/WebIDL/Overview.xml.diff?r1=1.492;r2=1.493;f=h