Closed Bug 309914 Opened 14 years ago Closed 11 years ago

insertBefore doesn't work correctly for children of an XBL binding with non-empty content

Categories

(Core :: XBL, defect)

x86
Windows XP
defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: asqueella, Assigned: bzbarsky)

References

Details

(Keywords: testcase)

Attachments

(1 file)

1.62 KB, application/vnd.mozilla.xul+xml
Details
If I have a binding with content like this:
    <content>
      <xul:label value="anon label"/>
      <children/>
    </content>

..bound to a box with a few children (button0, button1, etc), then insertBefore
doesn't work properly. For example if I do:
  var item = container.firstChild;
  container.insertBefore(item.nextSibling, item); // shouldn't modify anything

The box's contents becomes: button1, <anon label>, button0, button2, ...
Although DOMi indicates that the tree is not modified.

Moving <children> to be before the label "fixes" the problem. Removing
<children> altogether doesn't, although the displayed order is different.

Filing this under XBL, since I only can reproduce it using a binding with
content. Tested using 20050923, 1.8 branch. This happens with Firefox 1.0 too.
Attached file testcase
Click the "click me" button to test.
More likely a dup of bug 272646
Depends on: 272646
Fixed by checkin for bug 307394.  Added the test to reftest.
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Assignee: xbl → bzbarsky
You need to log in before you can comment on or make changes to this bug.