diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator.cpp index ef1ed3d681..39b66c1d9a 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator.cpp @@ -1164,6 +1164,12 @@ public: )~~~"); } + if (interface.extended_attributes.contains("CustomVisit")) { + generator.append(R"~~~( + virtual void visit_edges(JS::Cell::Visitor&) override; +)~~~"); + } + if (interface.is_legacy_platform_object()) { generator.append(R"~~~( virtual Optional internal_get_own_property(JS::PropertyName const&) const override; @@ -1326,6 +1332,16 @@ void @wrapper_class@::initialize(JS::GlobalObject& global_object) )~~~"); } + if (interface.extended_attributes.contains("CustomVisit")) { + generator.append(R"~~~( +void @wrapper_class@::visit_edges(JS::Cell::Visitor& visitor) +{ + @wrapper_base_class@::visit_edges(visitor); + impl().visit_edges(visitor); +} +)~~~"); + } + if (interface.is_legacy_platform_object()) { auto scoped_generator = generator.fork(); scoped_generator.set("class_name", interface.wrapper_class);