Переглянути джерело

LibJS: Mark %{Async,}IteratorPrototype%[@@iterator] as Configurable

We were accidentally marking it as Enumerable instead.
Idan Horowitz 3 роки тому
батько
коміт
232e830a0a

+ 1 - 1
Userland/Libraries/LibJS/Runtime/AsyncIteratorPrototype.cpp

@@ -17,7 +17,7 @@ void AsyncIteratorPrototype::initialize(GlobalObject& global_object)
 {
     auto& vm = this->vm();
     Object::initialize(global_object);
-    u8 attr = Attribute::Writable | Attribute::Enumerable;
+    u8 attr = Attribute::Writable | Attribute::Configurable;
     define_native_function(*vm.well_known_symbol_async_iterator(), symbol_async_iterator, 0, attr);
 }
 

+ 2 - 1
Userland/Libraries/LibJS/Runtime/IteratorPrototype.cpp

@@ -10,6 +10,7 @@
 
 namespace JS {
 
+// 27.1.2 The %IteratorPrototype% Object, https://tc39.es/ecma262/#sec-%iteratorprototype%-object
 IteratorPrototype::IteratorPrototype(GlobalObject& global_object)
     : Object(*global_object.object_prototype())
 {
@@ -19,7 +20,7 @@ void IteratorPrototype::initialize(GlobalObject& global_object)
 {
     auto& vm = this->vm();
     Object::initialize(global_object);
-    u8 attr = Attribute::Writable | Attribute::Enumerable;
+    u8 attr = Attribute::Writable | Attribute::Configurable;
     define_native_function(*vm.well_known_symbol_iterator(), symbol_iterator, 0, attr);
 }