Created attachment 540751 [details]
An HTML file that demonstrates the bug
If I obtain an HTMLCollection, and then set an expando on it, then set the id of one of the contained elements to match the expando, the HTMLCollection then returns the element rather than the value of the expando when I index it with that name.
But things go wrong when I change the id of that element to something else. Indexing the collection with the expando name now ought to return the expando value, but instead it still returns the element, even though the element no longer has that id.
See the attachment for code that demonstrates the bug. I've tested it in FF 5 and Aurora 6.0a2 (2011-06-20)
This is a duplicate.
Sorry for the dupe. I didn't see anything like it in Bugzilla, but I haven't figured out how to search Bugzilla well yet.
Would you link to the existing bug?
If I knew the bug# offhand I would have marked this a duplicate... I'd have to search for it. In any case, this will go away with the new DOM bindings.
Bug 648801 fixes this somewhat, except that it favors expandos over contained elements to match the WebIDL spec (see http://www.w3.org/TR/WebIDL/#dfn-named-property-visibility in particular step 4).
Although I guess technically objects that don't have a name creator/setter operation shouldn't support setting of expandos.
No, I think expandos should work.... In particular, setting anything outside the set of supported names should just set an expando, no?
So is this fixed now that bug 648801 is fixed?
Works for me in Nightly. (But as peterv points out, the behavior has changed to track WebIDL, and expandos always always shadow named elements.)
Setting status to RESOLVED FIXED