The first argument for setAttributeNS is supposed to be a string. So, if you want to put an attribute in the null namespace, it makes sense to use "". This works fine in Opera and Firefox, but webkit requires null if you want to get the desired result. Bug 15172
So, I need to quit using setAttributeNS("", "name", "value") and start using setAttributeNS(null, "name", value"). Since setAttribute works fine for this case, I could use it, but that's no fun. 🙂 The whole "" or null issue might bring back some getAttribute memories.
Speaking of webkit stuff, where are all the HTMLFooElement constructor objects? Element, Node and Document are available, just not the specific ones. (Oops. Actually, they're there if you use a nightly.)
With Safari being released for windows, it really helps me see where webkit is lacking (although some problems are win32-only). For example, I've found that .click() doesn't work and I have to bust out dispatchEvent, which isn't a big deal, but is mildy annoying. It can be wrapped though, so it's not too bad.
Also, I need to make sure to use .ownerDocument instead of .document when getting the document of an element. Firefox doesn't support .document. Besides, ownerDocument is what I should be using anyway.
You really have to watch your JS with Safari.