Bug 1406297 - Fix Document.createElement must report an exception.

Tag UXP Issue #1344
This commit is contained in:
Gaming4JC 2020-01-05 18:38:55 -05:00 committed by Roy Tam
commit e925977c0f
2 changed files with 13 additions and 9 deletions

View file

@ -111,13 +111,11 @@ CustomElementConstructor::Construct(const char* aExecutionReason,
JS::Rooted<JSObject*> result(cx);
JS::Rooted<JS::Value> constructor(cx, JS::ObjectValue(*mCallback));
if (!JS::Construct(cx, constructor, JS::HandleValueArray::empty(), &result)) {
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
return nullptr;
}
RefPtr<Element> element;
if (NS_FAILED(UNWRAP_OBJECT(Element, &result, element))) {
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
return nullptr;
}
@ -894,7 +892,7 @@ DoUpgrade(Element* aElement,
return;
}
if (constructResult.get() != aElement) {
if (!constructResult || constructResult.get() != aElement) {
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
return;
}