From 98705ecf71e22413b21ea4099399cf7d30ce6791 Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Tue, 28 Feb 2023 21:29:52 +0100 Subject: [PATCH] LibWeb: Add new String support for parameters with empty string defaults This adds new string support for parameters with an optional default value of empty string (""). --- .../LibWeb/BindingsGenerator/IDLGenerators.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp index e08646b48e..f10710578d 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp @@ -1314,9 +1314,15 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter )~~~"); } else { if (optional_default_value == "\"\"") { - union_generator.append(R"~~~( + if (!interface.extended_attributes.contains("UseNewAKString")) { + union_generator.append(R"~~~( @union_type@ @cpp_name@ = @js_name@@js_suffix@.is_undefined() ? DeprecatedString::empty() : TRY(@js_name@@js_suffix@_to_variant(@js_name@@js_suffix@)); )~~~"); + } else { + 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 == "{}") { VERIFY(dictionary_type); union_generator.append(R"~~~(