mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-04 15:45:25 +00:00
LibJS: Never omit setter/getter attributes in accessor descriptor object
These should not be omitted, an accessor with out getter or setter still yields an undefined for the attribute in its descriptor object.
This commit is contained in:
@@ -434,17 +434,14 @@ Value Object::get_own_property_descriptor_object(const PropertyName& property_na
|
||||
descriptor_object->define_property(vm.names.writable, Value(descriptor.attributes.is_writable()));
|
||||
if (vm.exception())
|
||||
return {};
|
||||
} else if (descriptor.is_accessor_descriptor()) {
|
||||
if (descriptor.getter) {
|
||||
descriptor_object->define_property(vm.names.get, Value(descriptor.getter));
|
||||
if (vm.exception())
|
||||
return {};
|
||||
}
|
||||
if (descriptor.setter) {
|
||||
descriptor_object->define_property(vm.names.set, Value(descriptor.setter));
|
||||
if (vm.exception())
|
||||
return {};
|
||||
}
|
||||
} else {
|
||||
VERIFY(descriptor.is_accessor_descriptor());
|
||||
descriptor_object->define_property(vm.names.get, descriptor.getter ? Value(descriptor.getter) : js_undefined());
|
||||
if (vm.exception())
|
||||
return {};
|
||||
descriptor_object->define_property(vm.names.set, descriptor.setter ? Value(descriptor.setter) : js_undefined());
|
||||
if (vm.exception())
|
||||
return {};
|
||||
}
|
||||
descriptor_object->define_property(vm.names.enumerable, Value(descriptor.attributes.is_enumerable()));
|
||||
if (vm.exception())
|
||||
|
||||
Reference in New Issue
Block a user