mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 09:38:11 +00:00
LibJS+LibWeb: Use Object::set_prototype() in more places
This commit is contained in:
parent
84c9f3e0d0
commit
ba6e4c7ae1
5 changed files with 5 additions and 10 deletions
|
@ -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@"));
|
||||
}
|
||||
)~~~");
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue