Open Bug 1622050 Opened 21 days ago Updated 20 days ago

See whether we can get rid of the "XBL destructor" mutation guards

Categories

(Core :: DOM: Core & HTML, defect, P3)

defect

Tracking

()

People

(Reporter: bzbarsky, Unassigned)

References

(Blocks 1 open bug)

Details

In nsINode::ReplaceOrInsertBefore we have:

    // Removing a child can run script, via XBL destructors.
    nsMutationGuard guard;
...

    if (guard.Mutated(1)) {
      // XBL destructors, yuck.

Is this still a thing we need to worry about? Are there non-XBL-destructor things that can cause extra mutations there?

We also have the bit about:

    // Make sure to remove all the fragment's kids.  We need to do this before
    // we start inserting anything, so we will run out XBL destructors and
    // binding teardown (GOD, I HATE THESE THINGS) before we insert anything
    // into the DOM.

right below that, and more mutation guards in the document fragment case. Need to figure out whether this is all still needed and document why, if it is.

Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.