On 2011-05-09 22:31, Jonas Sicking wrote:
On Mon, May 9, 2011 at 9:22 AM, Lachlan Hunt<[email protected]>  wrote:
Every other tested property on HTML*Element interfaces stringified to
"null".

What about namespaceURI, in various APIs (DOM-Core, DOM-XPath).

Node.namespaceURI is readonly according to DOM3 Core, so setting it to null has no effect. But I just tested createElementNS() and got the following results:

var el = document.createElementNS(null, "foo");

Firefox, WebKit, Opera, IE:
  el.namespaceURI returns null
  el.prefix returns null
  el.localName returns "foo"; returns "FOO" in Opera

Same result as invoking createElementNS("", "foo");


var el = document.createElementNS(null, null);

Firefox, WebKit, Opera (internal) throw INVALID_CHARACTER_ERR

Same result as invoking createElementNS("", "");

Opera 11, IE 9:
  el.namespaceURI returns null
  el.prefix returns null
  el.localName returns "null" in IE; returns "NULL" in Opera

Same result as invoking createElementNS("", "null");

In general, my main priority is that we make things as consistent as
possible. My second priority is that we make things follow JS
behavior. So I'd be very happy if we can get away with making the just
the above list stringify to "", and the rest of the DOM stringify to
"null".

We had a site compatibility bug with at least one property recently, (input.max = null), that we were stringifying to "null", but where the site is expecting WebKit-compatible behaviour. We've also had similar compat problems in the past with some CSSOM properties, although they have since been defined as nullable types in that spec.

--
Lachlan Hunt - Opera Software
http://lachy.id.au/
http://www.opera.com/

Reply via email to