瀏覽代碼

LibJS+LibWeb: Use Object::set_prototype() in more places

Linus Groh 3 年之前
父節點
當前提交
ba6e4c7ae1

+ 1 - 2
Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator.cpp

@@ -1568,8 +1568,7 @@ namespace Web::Bindings {
 @wrapper_class@::@wrapper_class@(JS::GlobalObject& global_object, @fully_qualified_name@& impl)
     : @wrapper_base_class@(global_object, impl)
 {
-    auto success = internal_set_prototype_of(&static_cast<WindowObject&>(global_object).ensure_web_prototype<@prototype_class@>("@name@")).release_value();
-    VERIFY(success);
+    set_prototype(&static_cast<WindowObject&>(global_object).ensure_web_prototype<@prototype_class@>("@name@"));
 }
 )~~~");
     }

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

@@ -82,7 +82,7 @@ void ECMAScriptFunctionObject::initialize(GlobalObject& global_object)
             break;
         case FunctionKind::Generator:
             // prototype is "g1.prototype" in figure-2 (https://tc39.es/ecma262/img/figure-2.png)
-            (void)prototype->internal_set_prototype_of(global_object.generator_object_prototype());
+            set_prototype(global_object.generator_object_prototype());
             break;
         }
         define_direct_property(vm.names.prototype, prototype, Attribute::Writable);

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

@@ -142,8 +142,7 @@ void GlobalObject::initialize_global_object()
 
     static_cast<ObjectPrototype*>(m_object_prototype)->initialize(*this);
 
-    auto success = Object::internal_set_prototype_of(m_object_prototype).release_value();
-    VERIFY(success);
+    Object::set_prototype(m_object_prototype);
 
     // This must be initialized before allocating AggregateErrorPrototype, which uses ErrorPrototype as its prototype.
     m_error_prototype = heap().allocate<ErrorPrototype>(*this, *this);

+ 1 - 3
Userland/Libraries/LibJS/Runtime/Object.cpp

@@ -48,9 +48,7 @@ Object::Object(ConstructWithoutPrototypeTag, GlobalObject& global_object)
 Object::Object(Object& prototype)
 {
     m_shape = prototype.global_object().empty_object_shape();
-    // FIXME: Factor out step 9 into a simple prototype setter and use that
-    auto success = internal_set_prototype_of(&prototype).release_value();
-    VERIFY(success);
+    set_prototype(&prototype);
 }
 
 Object::Object(Shape& shape)

+ 1 - 2
Userland/Libraries/LibWeb/Bindings/WindowObject.cpp

@@ -54,8 +54,7 @@ void WindowObject::initialize_global_object()
 {
     Base::initialize_global_object();
 
-    auto success = Object::internal_set_prototype_of(&ensure_web_prototype<EventTargetPrototype>("EventTarget")).release_value();
-    VERIFY(success);
+    Object::set_prototype(&ensure_web_prototype<EventTargetPrototype>("EventTarget"));
 
     // FIXME: These should be native accessors, not properties
     define_direct_property("window", this, JS::Attribute::Enumerable);