From 111e0159ffc27ef5b6c16eae134aa573a2c76b8e Mon Sep 17 00:00:00 2001 From: Matthew Olsson Date: Mon, 6 Nov 2023 15:16:59 +0000 Subject: [PATCH] IDLGenerators: Allow specifying default non-empty string values --- .../LibWeb/BindingsGenerator/IDLGenerators.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp index 461a87ecac..e9cc19ace5 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp @@ -1388,6 +1388,11 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter if (optional_default_value == "\"\"") { union_generator.append(R"~~~( @union_type@ @cpp_name@ = @js_name@@js_suffix@.is_undefined() ? String {} : TRY(@js_name@@js_suffix@_to_variant(@js_name@@js_suffix@)); +)~~~"); + } else if (optional_default_value->starts_with("\""sv) && optional_default_value->ends_with("\""sv)) { + union_generator.set("default_string_value", optional_default_value.value()); + union_generator.append(R"~~~( + @union_type@ @cpp_name@ = @js_name@@js_suffix@.is_undefined() ? MUST(String::from_utf8(@default_string_value@sv)) : TRY(@js_name@@js_suffix@_to_variant(@js_name@@js_suffix@)); )~~~"); } else if (optional_default_value == "{}") { VERIFY(dictionary_type);