This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
In Firefox, Safari and IE, the functions used for operations (ie document.appendChild) do not have a prototype property. This is analog with the JS builtins (like Date.prototype.getFullYear)
WebIDL says nothing about these having a "prototype" own property, so they have nothing there in particular, which matches the implementations... Maybe I'm missing what this bug is about?
Functions have a prototype property by default. I would like the spec to point out that the functions backing operations are not normal functions and should not have a prototype (same for the getter and setter functions).
(In reply to comment #2) > Functions have a prototype property by default. I would like the spec to > point out that the functions backing operations are not normal functions and > should not have a prototype (same for the getter and setter functions). I agree they should not have a prototype property or a [[Construct]] internal method. But I would avoid the phrase "not normal functions". In ES3 and ES5, all non-constructor Chapter 15 functions are of this form. In ES6, arrow functions are as well.
I believe ES6 methods do not have `prototype` properties or [[Construct]] internal methods, at least per the non-normative prose [1]. Thus it would suffice to say that WebIDL methods should be created in the same way as ES6 methods. [1]: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-15.3.4.2
Fixed by https://github.com/heycam/webidl/commit/a2b4599631fe0fa254a7a4993dd7f00b74c8ad20 with issue https://github.com/heycam/webidl/issues/106