Bug 1522465 - Part 2: Don't resolve properties on the global object when ClassSpec::DontDefineConstructor is set. r=jorendorff

This commit is contained in:
André Bargull 2019-01-24 05:38:18 -08:00
Родитель 7536900fdd
Коммит d1c55f2478
1 изменённых файлов: 2 добавлений и 1 удалений

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

@ -872,7 +872,8 @@ JS_PUBLIC_API bool JS_ResolveStandardClass(JSContext* cx, HandleObject obj,
JSProtoKey key = stdnm ? stdnm->key : JSProto_Null;
if (key != JSProto_Null) {
const Class* clasp = ProtoKeyToClass(key);
if (!clasp || !(clasp->flags & JSCLASS_IS_ANONYMOUS)) {
if (!clasp || (!(clasp->flags & JSCLASS_IS_ANONYMOUS) &&
clasp->specShouldDefineConstructor())) {
if (!GlobalObject::ensureConstructor(cx, global, key)) {
return false;
}