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 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.

Firefox' 3.1 (Minefield) implementation window.open() produces a
different result as window.open(undefined).

Indeed, because the latter goes through XPconnect, which converts undefined to "undefined" for some odd reason.

-Boris

Reply via email to