Re: [whatwg] WebIDL and HTML5

On Tue, Aug 26, 2008 at 5:29 AM, Boris Zbarsky <bzbarsky@mit.edu> wrote:
> Garrett Smith wrote:
>>>>>
>>>>> That can be the default, perhaps.  But I suspect usually null should
>>>>> become
>>>>> "", not "null".
>>>>
>>>> Why?
>>>
>>> Honestly?  Because that's what Firefox does right now, except in certain
>>
>> That is not true. Firefox has Spidermonkey.
>
> The Spidermonkey part is irrelevant for purposes of this discussion, except

For native function calls, Spidermonkey converts native EcmaScript
value null to "null" using ToString.
Example:

 "null".indexOf(null); // => 0

I mentioned this because it is what developers in that language
expect. It would be inconsistent to serialize null to something other
than "null".

It would be OK for the method or setter to raise on null, or to have
specified behavior if null were passed in.

Null is not the empty string.

> in places where JS_ValueToString is used (basically DOM0 special-cases).
>  What matters is the XPConnect glue layer which converts JS function calls
> into C++ function calls in the general case.
>
> In fact, the relevant code for Gecko 1.9 is right here:
>
> http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/js/src/xpconnect/src/xpcconvert.cpp&rev=1.129&mark=743-751#731
>
> and
>
> http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/js/src/xpconnect/src/xpcprivate.h&rev=1.283&mark=932-934#922
>
> It converts a JSVAL_NULL into an empty nsAString with the IS_VOID bit set.
>

Although I would like to understand that code, I do not. I'll just
have to take you word for it.

I can appreciate that there was work that went into that, and I can
certainly appreciate the value of Firefox.

Garrett

> -Boris
>

Received on Wednesday, 27 August 2008 02:36:04 UTC