On Tue, 29 Nov 2011 19:13:25 +0100, Boris Zbarsky <bzbarsky@mit.edu> wrote:
> On 11/29/11 11:22 AM, Anne van Kesteren wrote:
>> document.head.setAttributeNS("test", "x:a", "a")
>> document.head.setAttributeNS("test", "e:a", "b")
>>
>> Should the result be an attribute "x:a" or "e:a"? Gecko says "e:a",
>> Opera/Webkit say "x:a". Making the prefix member of an attribute
>> completely immutable seems somewhat preferable to me.
>
> Why?
Mostly so we do not have to complicate mutation observers even further for
an edge case nobody should even get to.
> Maybe our respective biases are showing here, but it seems to me like
> this sequence of calls:
>
> document.head.setAttributeNS("test", "x:a", "a")
> document.head.removeAttributeNS("test", "a");
> document.head.setAttributeNS("test", "e:a", "b")
>
> should act just like your first example. Which it does in Gecko, but
> not in Webkit/Opera, right?
Right. Seems to me these cases are quite different, because setAttributeNS
does a presence test. And based on that it either creates and appends, or
sets the value (and prefix in case of Gecko).
--
Anne van Kesteren
http://annevankesteren.nl/