This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 16440 - interface prototype object.
Summary: interface prototype object.
Status: RESOLVED FIXED
Alias: None
Product: WebAppsWG
Classification: Unclassified
Component: WebIDL (show other bugs)
Version: unspecified
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Cameron McCormack
QA Contact: public-webapps-bugzilla
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-19 19:59 UTC by Marcos Caceres
Modified: 2012-03-21 23:35 UTC (History)
2 users (show)

See Also:


Attachments

Description Marcos Caceres 2012-03-19 19:59:43 UTC
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"."
Comment 1 Cameron McCormack 2012-03-21 23:35:06 UTC
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