Bug 1836753, make RebuildL10nPrototype a bit more resilient to unusual document states, r=emilio

Differential Revision: https://phabricator.services.mozilla.com/D180889
This commit is contained in:
Olli Pettay 2023-06-13 22:27:32 +00:00
Родитель d065ac0eba
Коммит bb1d649e16
1 изменённых файлов: 5 добавлений и 10 удалений

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

@ -501,16 +501,11 @@ void nsXULPrototypeDocument::RebuildL10nPrototype(Element* aElement,
return;
}
MOZ_ASSERT(aElement->HasAttr(nsGkAtoms::datal10nid));
Document* doc = aElement->OwnerDoc();
nsAutoString id;
MOZ_RELEASE_ASSERT(aElement->GetAttr(nsGkAtoms::datal10nid, id));
if (!doc) {
return;
if (RefPtr<nsXULPrototypeElement> proto =
doc->mL10nProtoElements.Get(aElement)) {
RebuildPrototypeFromElement(proto, aElement, aDeep);
}
RefPtr<nsXULPrototypeElement> proto = doc->mL10nProtoElements.Get(aElement);
MOZ_RELEASE_ASSERT(proto);
RebuildPrototypeFromElement(proto, aElement, aDeep);
}