diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-04-25 01:44:14 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-04-25 01:44:14 +0200 |
commit | fe8155c118c4d536c048957156a1473a8595ab8d (patch) | |
tree | bd7863368d6072ed3ac75126f80a09b11346c3c7 /dom/base/nsINode.cpp | |
parent | fcfd61829a1edd8519e3965f201f575d70a84239 (diff) | |
parent | a203f449bbc01f97564b7c5e2272b06a9569d7b4 (diff) | |
download | UXP-fe8155c118c4d536c048957156a1473a8595ab8d.tar UXP-fe8155c118c4d536c048957156a1473a8595ab8d.tar.gz UXP-fe8155c118c4d536c048957156a1473a8595ab8d.tar.lz UXP-fe8155c118c4d536c048957156a1473a8595ab8d.tar.xz UXP-fe8155c118c4d536c048957156a1473a8595ab8d.zip |
Merge branch 'master' of https://github.com/MoonchildProductions/UXP
Diffstat (limited to 'dom/base/nsINode.cpp')
-rw-r--r-- | dom/base/nsINode.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/dom/base/nsINode.cpp b/dom/base/nsINode.cpp index 3a649a61d..715ca93ea 100644 --- a/dom/base/nsINode.cpp +++ b/dom/base/nsINode.cpp @@ -1907,6 +1907,10 @@ void nsINode::doRemoveChildAt(uint32_t aIndex, bool aNotify, nsIContent* aKid, nsAttrAndChildArray& aChildArray) { + // NOTE: This function must not trigger any calls to + // nsIDocument::GetRootElement() calls until *after* it has removed aKid from + // aChildArray. Any calls before then could potentially restore a stale + // value for our cached root element, per note in nsDocument::RemoveChildAt(). NS_PRECONDITION(aKid && aKid->GetParentNode() == this && aKid == GetChildAt(aIndex) && IndexOf(aKid) == (int32_t)aIndex, "Bogus aKid"); |