HTML5 spec. seems to unnecessarily ban strict mode event handlers

Allen Wirfs-Brock allen at wirfs-brock.com
Thu Feb 3 16:24:50 PST 2011


It would seem to depend upon exactly how the WebIDL ECMAScript binding defines the meaning of:
The Function interface represents a function in the
  scripting language being used. It is represented in IDL as
  follows:

[Callback=FunctionOnly, NoInterfaceObject]
interface Function {
  any call(in any... arguments);
};
The call(...)
  method is the object's callback.

However, I agree that it must be in terms of [[Call]] and not access to the 'call' property.  what does "is the object's callback" actually mean?

Allen

On Feb 3, 2011, at 4:09 PM, Garrett Smith wrote:

> On 2/3/11, Allen Wirfs-Brock <allen at wirfs-brock.com> wrote:
>> Regarding the call language, it would probably be best if it was described
>> in terms of invoking the [[Call]] internal method of the handler's function
>> object.  However, that might be unnecessary if if the WebIDL ECMASCript
>> binding makes it clear that the effect of invoking the call method of the
>> Function interface is defined in terms of [[Call]].
>> 
> But browsers don't call the `call` property of the function object.
> 
> It's easy to test that: Create a function and give it an own "call"
> property on a function or by replacing Function.prototype.call.
> 
> function x() {
> alert(1);
> }
> x.call = function() {
>  alert('call()');
> };
> 
>> We may have clashing spec. terminology here but I think the intent seems
>> clear enough.
>> 
> Uh uh.
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20110203/5da31f9a/attachment.html>


More information about the es-discuss mailing list