mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-13 11:42:38 +03:00
LibJS: Add define_direct_{property,accessor}_without_transition()
This commit is contained in:
parent
222e518a53
commit
47ab84ffd9
Notes:
sideshowbarker
2024-07-18 05:07:27 +09:00
Author: https://github.com/linusg Commit: https://github.com/SerenityOS/serenity/commit/47ab84ffd96 Pull-request: https://github.com/SerenityOS/serenity/pull/9665
@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include <AK/String.h>
|
||||
#include <AK/TemporaryChange.h>
|
||||
#include <LibJS/Interpreter.h>
|
||||
#include <LibJS/Runtime/AbstractOperations.h>
|
||||
#include <LibJS/Runtime/Accessor.h>
|
||||
@ -1052,6 +1053,18 @@ void Object::define_direct_accessor(PropertyName const& property_name, FunctionO
|
||||
}
|
||||
}
|
||||
|
||||
void Object::define_direct_property_without_transition(PropertyName const& property_name, Value value, PropertyAttributes attributes)
|
||||
{
|
||||
TemporaryChange disable_transitions(m_transitions_enabled, false);
|
||||
define_direct_property(property_name, value, attributes);
|
||||
}
|
||||
|
||||
void Object::define_direct_accessor_without_transition(PropertyName const& property_name, FunctionObject* getter, FunctionObject* setter, PropertyAttributes attributes)
|
||||
{
|
||||
TemporaryChange disable_transitions(m_transitions_enabled, false);
|
||||
define_direct_accessor(property_name, getter, setter, attributes);
|
||||
}
|
||||
|
||||
void Object::ensure_shape_is_unique()
|
||||
{
|
||||
if (shape().is_unique())
|
||||
|
@ -124,6 +124,9 @@ public:
|
||||
void define_direct_property(PropertyName const& property_name, Value value, PropertyAttributes attributes) { storage_set(property_name, { value, attributes }); };
|
||||
void define_direct_accessor(PropertyName const&, FunctionObject* getter, FunctionObject* setter, PropertyAttributes attributes);
|
||||
|
||||
void define_direct_property_without_transition(PropertyName const&, Value, PropertyAttributes);
|
||||
void define_direct_accessor_without_transition(PropertyName const&, FunctionObject* getter, FunctionObject* setter, PropertyAttributes);
|
||||
|
||||
void define_native_function(PropertyName const&, Function<Value(VM&, GlobalObject&)>, i32 length, PropertyAttributes attributes);
|
||||
void define_native_accessor(PropertyName const&, Function<Value(VM&, GlobalObject&)> getter, Function<Value(VM&, GlobalObject&)> setter, PropertyAttributes attributes);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user