Bug 1317409, handle failing node adoption properly, r=peterv

--HG--
extra : rebase_source : 3ce4ba7c0406d6f96edd7e4da8687fcc55295980
This commit is contained in:
Olli Pettay 2016-11-17 15:54:12 +02:00
Родитель a895bd31ae
Коммит 0afb59fbfd
1 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -581,8 +581,13 @@ nsNodeUtils::CloneAndAdopt(nsINode *aNode, bool aClone, bool aDeep,
JSAutoCompartment ac(cx, wrapper);
rv = ReparentWrapper(cx, wrapper);
if (NS_FAILED(rv)) {
if (wasRegistered) {
aNode->OwnerDoc()->UnregisterActivityObserver(aNode->AsElement());
}
aNode->mNodeInfo.swap(newNodeInfo);
if (wasRegistered) {
aNode->OwnerDoc()->RegisterActivityObserver(aNode->AsElement());
}
return rv;
}
}