From e7a3040c9fe38d4d71a21b27812ce4a0dedb83cb Mon Sep 17 00:00:00 2001 From: Aliaksandr Kalenik Date: Wed, 27 Sep 2023 14:55:47 +0200 Subject: [PATCH] LibWeb: Do not use JS::Handle for TimerHandler There is no need to use JS::Handle for timer handler because it is visited from JS::HeapFunction in HTML::Timer. --- .../CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp | 4 ++-- Userland/Libraries/LibWeb/HTML/WindowOrWorkerGlobalScope.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp index 4b7e088f49..e344366d91 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp @@ -181,7 +181,7 @@ CppType idl_type_name_to_cpp_type(Type const& type, Interface const& interface) return { .name = "JS::Handle", .sequence_storage_type = SequenceStorageType::MarkedVector }; if (type.name() == "Function") - return { .name = "JS::Handle", .sequence_storage_type = SequenceStorageType::MarkedVector }; + return { .name = "JS::NonnullGCPtr", .sequence_storage_type = SequenceStorageType::MarkedVector }; if (type.name() == "sequence") { auto& parameterized_type = verify_cast(type); @@ -1198,7 +1198,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter if (includes_callable) { union_generator.append(R"~~~( if (@js_name@@js_suffix@_object.is_function()) - return JS::make_handle(vm.heap().allocate_without_realm(@js_name@@js_suffix@.as_function(), HTML::incumbent_settings_object())); + return vm.heap().allocate_without_realm(@js_name@@js_suffix@.as_function(), HTML::incumbent_settings_object()); )~~~"); } diff --git a/Userland/Libraries/LibWeb/HTML/WindowOrWorkerGlobalScope.h b/Userland/Libraries/LibWeb/HTML/WindowOrWorkerGlobalScope.h index a21146cbb6..27ce4ad850 100644 --- a/Userland/Libraries/LibWeb/HTML/WindowOrWorkerGlobalScope.h +++ b/Userland/Libraries/LibWeb/HTML/WindowOrWorkerGlobalScope.h @@ -22,7 +22,7 @@ namespace Web::HTML { // https://html.spec.whatwg.org/#timerhandler -using TimerHandler = Variant, String>; +using TimerHandler = Variant, String>; // https://html.spec.whatwg.org/multipage/webappapis.html#windoworworkerglobalscope class WindowOrWorkerGlobalScopeMixin {