HTMLCollection with expandos gets confused about element ids




DOM: Core & HTML
6 years ago
3 years ago


(Reporter: djf, Unassigned)


Mac OS X

Firefox Tracking Flags

(Not tracked)



(1 attachment)



6 years ago
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.
Whiteboard: DUPEME

Comment 2

6 years ago
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.
Depends on: 648801
Bug 648801 fixes this somewhat, except that it favors expandos over contained elements to match the WebIDL spec (see 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?

Comment 8

6 years ago
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
Last Resolved: 6 years ago
Resolution: --- → FIXED


3 years ago
Whiteboard: DUPEME
You need to log in before you can comment on or make changes to this bug.