LibJS: Rename GlobalObject::initialize() => initialize_global_object()

This function was shadowing Object::initialize() which cannot be called
on global objects and has a different set of parameters.
This commit is contained in:
Andreas Kling 2021-03-17 16:52:26 +01:00
parent ea81dc13cf
commit d792200a55
Notes: sideshowbarker 2024-07-18 21:16:37 +09:00
11 changed files with 30 additions and 29 deletions

View file

@ -135,16 +135,16 @@ extern "C" void __sanitizer_cov_trace_pc_guard(uint32_t* guard)
// END FUZZING CODE // END FUZZING CODE
// //
class TestRunnerGlobalObject : public JS::GlobalObject { class TestRunnerGlobalObject final : public JS::GlobalObject {
JS_OBJECT(TestRunnerGlobalObject, JS::GlobalObject);
public: public:
TestRunnerGlobalObject(); TestRunnerGlobalObject();
virtual ~TestRunnerGlobalObject() override; virtual ~TestRunnerGlobalObject() override;
virtual void initialize() override; virtual void initialize_global_object() override;
private: private:
virtual const char* class_name() const override { return "TestRunnerGlobalObject"; }
JS_DECLARE_NATIVE_FUNCTION(fuzzilli); JS_DECLARE_NATIVE_FUNCTION(fuzzilli);
}; };
@ -194,9 +194,9 @@ JS_DEFINE_NATIVE_FUNCTION(TestRunnerGlobalObject::fuzzilli)
return JS::js_undefined(); return JS::js_undefined();
} }
void TestRunnerGlobalObject::initialize() void TestRunnerGlobalObject::initialize_global_object()
{ {
JS::GlobalObject::initialize(); Base::initialize_global_object();
define_property("global", this, JS::Attribute::Enumerable); define_property("global", this, JS::Attribute::Enumerable);
define_native_function("fuzzilli", fuzzilli, 2); define_native_function("fuzzilli", fuzzilli, 2);
} }

View file

@ -151,9 +151,9 @@ bool SheetGlobalObject::put(const JS::PropertyName& name, JS::Value value, JS::V
return GlobalObject::put(name, value, receiver); return GlobalObject::put(name, value, receiver);
} }
void SheetGlobalObject::initialize() void SheetGlobalObject::initialize_global_object()
{ {
GlobalObject::initialize(); Base::initialize_global_object();
define_native_function("get_real_cell_contents", get_real_cell_contents, 1); define_native_function("get_real_cell_contents", get_real_cell_contents, 1);
define_native_function("set_real_cell_contents", set_real_cell_contents, 2); define_native_function("set_real_cell_contents", set_real_cell_contents, 2);
define_native_function("parse_cell_name", parse_cell_name, 1); define_native_function("parse_cell_name", parse_cell_name, 1);

View file

@ -48,7 +48,7 @@ public:
virtual JS::Value get(const JS::PropertyName&, JS::Value receiver = {}) const override; virtual JS::Value get(const JS::PropertyName&, JS::Value receiver = {}) const override;
virtual bool put(const JS::PropertyName&, JS::Value value, JS::Value receiver = {}) override; virtual bool put(const JS::PropertyName&, JS::Value value, JS::Value receiver = {}) override;
virtual void initialize() override; virtual void initialize_global_object() override;
JS_DECLARE_NATIVE_FUNCTION(get_real_cell_contents); JS_DECLARE_NATIVE_FUNCTION(get_real_cell_contents);
JS_DECLARE_NATIVE_FUNCTION(set_real_cell_contents); JS_DECLARE_NATIVE_FUNCTION(set_real_cell_contents);

View file

@ -61,7 +61,7 @@ Sheet::Sheet(Workbook& workbook)
{ {
JS::DeferGC defer_gc(m_workbook.interpreter().heap()); JS::DeferGC defer_gc(m_workbook.interpreter().heap());
m_global_object = m_workbook.interpreter().heap().allocate_without_global_object<SheetGlobalObject>(*this); m_global_object = m_workbook.interpreter().heap().allocate_without_global_object<SheetGlobalObject>(*this);
global_object().initialize(); global_object().initialize_global_object();
global_object().put("workbook", m_workbook.workbook_object()); global_object().put("workbook", m_workbook.workbook_object());
global_object().put("thisSheet", &global_object()); // Self-reference is unfortunate, but required. global_object().put("thisSheet", &global_object()); // Self-reference is unfortunate, but required.

View file

@ -53,7 +53,7 @@ public:
auto interpreter = adopt_own(*new Interpreter(vm)); auto interpreter = adopt_own(*new Interpreter(vm));
VM::InterpreterExecutionScope scope(*interpreter); VM::InterpreterExecutionScope scope(*interpreter);
interpreter->m_global_object = make_handle(static_cast<Object*>(interpreter->heap().allocate_without_global_object<GlobalObjectType>(forward<Args>(args)...))); interpreter->m_global_object = make_handle(static_cast<Object*>(interpreter->heap().allocate_without_global_object<GlobalObjectType>(forward<Args>(args)...)));
static_cast<GlobalObjectType*>(interpreter->m_global_object.cell())->initialize(); static_cast<GlobalObjectType*>(interpreter->m_global_object.cell())->initialize_global_object();
return interpreter; return interpreter;
} }

View file

@ -82,7 +82,7 @@ GlobalObject::GlobalObject()
{ {
} }
void GlobalObject::initialize() void GlobalObject::initialize_global_object()
{ {
auto& vm = this->vm(); auto& vm = this->vm();

View file

@ -37,7 +37,7 @@ class GlobalObject : public ScopeObject {
public: public:
explicit GlobalObject(); explicit GlobalObject();
virtual void initialize(); virtual void initialize_global_object();
virtual ~GlobalObject() override; virtual ~GlobalObject() override;

View file

@ -56,9 +56,9 @@ WindowObject::WindowObject(DOM::Window& impl)
impl.set_wrapper({}, *this); impl.set_wrapper({}, *this);
} }
void WindowObject::initialize() void WindowObject::initialize_global_object()
{ {
GlobalObject::initialize(); Base::initialize_global_object();
set_prototype(&ensure_web_prototype<EventTargetPrototype>("EventTarget")); set_prototype(&ensure_web_prototype<EventTargetPrototype>("EventTarget"));

View file

@ -37,9 +37,11 @@ namespace Bindings {
class WindowObject final class WindowObject final
: public JS::GlobalObject : public JS::GlobalObject
, public Weakable<WindowObject> { , public Weakable<WindowObject> {
JS_OBJECT(WindowObject, JS::GlobalObject);
public: public:
explicit WindowObject(DOM::Window&); explicit WindowObject(DOM::Window&);
virtual void initialize() override; virtual void initialize_global_object() override;
virtual ~WindowObject() override; virtual ~WindowObject() override;
DOM::Window& impl() { return *m_impl; } DOM::Window& impl() { return *m_impl; }
@ -74,7 +76,6 @@ public:
} }
private: private:
virtual const char* class_name() const override { return "WindowObject"; }
virtual void visit_edges(Visitor&) override; virtual void visit_edges(Visitor&) override;
JS_DECLARE_NATIVE_GETTER(document_getter); JS_DECLARE_NATIVE_GETTER(document_getter);

View file

@ -63,15 +63,15 @@
RefPtr<JS::VM> vm; RefPtr<JS::VM> vm;
Vector<String> repl_statements; Vector<String> repl_statements;
class ReplObject : public JS::GlobalObject { class ReplObject final : public JS::GlobalObject {
JS_OBJECT(ReplObject, JS::GlobalObject);
public: public:
ReplObject(); ReplObject();
virtual void initialize() override; virtual void initialize_global_object() override;
virtual ~ReplObject() override; virtual ~ReplObject() override;
private: private:
virtual const char* class_name() const override { return "ReplObject"; }
JS_DECLARE_NATIVE_FUNCTION(exit_interpreter); JS_DECLARE_NATIVE_FUNCTION(exit_interpreter);
JS_DECLARE_NATIVE_FUNCTION(repl_help); JS_DECLARE_NATIVE_FUNCTION(repl_help);
JS_DECLARE_NATIVE_FUNCTION(load_file); JS_DECLARE_NATIVE_FUNCTION(load_file);
@ -510,9 +510,9 @@ ReplObject::ReplObject()
{ {
} }
void ReplObject::initialize() void ReplObject::initialize_global_object()
{ {
GlobalObject::initialize(); Base::initialize_global_object();
define_property("global", this, JS::Attribute::Enumerable); define_property("global", this, JS::Attribute::Enumerable);
define_native_function("exit", exit_interpreter); define_native_function("exit", exit_interpreter);
define_native_function("help", repl_help); define_native_function("help", repl_help);

View file

@ -77,16 +77,16 @@ struct JSTestRunnerCounts {
int files_total { 0 }; int files_total { 0 };
}; };
class TestRunnerGlobalObject : public JS::GlobalObject { class TestRunnerGlobalObject final : public JS::GlobalObject {
JS_OBJECT(TestRunnerGlobalObject, JS::GlobalObject);
public: public:
TestRunnerGlobalObject(); TestRunnerGlobalObject();
virtual ~TestRunnerGlobalObject() override; virtual ~TestRunnerGlobalObject() override;
virtual void initialize() override; virtual void initialize_global_object() override;
private: private:
virtual const char* class_name() const override { return "TestRunnerGlobalObject"; }
JS_DECLARE_NATIVE_FUNCTION(is_strict_mode); JS_DECLARE_NATIVE_FUNCTION(is_strict_mode);
JS_DECLARE_NATIVE_FUNCTION(can_parse_source); JS_DECLARE_NATIVE_FUNCTION(can_parse_source);
}; };
@ -141,9 +141,9 @@ TestRunnerGlobalObject::~TestRunnerGlobalObject()
{ {
} }
void TestRunnerGlobalObject::initialize() void TestRunnerGlobalObject::initialize_global_object()
{ {
JS::GlobalObject::initialize(); Base::initialize_global_object();
static FlyString global_property_name { "global" }; static FlyString global_property_name { "global" };
static FlyString is_strict_mode_property_name { "isStrictMode" }; static FlyString is_strict_mode_property_name { "isStrictMode" };
static FlyString can_parse_source_property_name { "canParseSource" }; static FlyString can_parse_source_property_name { "canParseSource" };