diff --git a/Userland/Libraries/LibWeb/HTML/StructuredSerialize.cpp b/Userland/Libraries/LibWeb/HTML/StructuredSerialize.cpp index 399c8f7866..a56adff791 100644 --- a/Userland/Libraries/LibWeb/HTML/StructuredSerialize.cpp +++ b/Userland/Libraries/LibWeb/HTML/StructuredSerialize.cpp @@ -101,27 +101,24 @@ public: } else if (value.is_string()) { m_serialized.append(ValueTag::StringPrimitive); TRY(serialize_string(m_serialized, value.as_string())); - } else if (value.is_object()) { - auto& value_object = value.as_object(); - if (is(value_object)) { - m_serialized.append(ValueTag::BooleanObject); - auto& boolean_object = static_cast(value_object); - m_serialized.append(bit_cast(static_cast(boolean_object.boolean()))); - } else if (is(value_object)) { - m_serialized.append(ValueTag::NumberObject); - auto& number_object = static_cast(value_object); - double const number = number_object.number(); - m_serialized.append(bit_cast(&number), 2); - } else if (is(value_object)) { - m_serialized.append(ValueTag::StringObject); - auto& string_object = static_cast(value_object); - TRY(serialize_string(m_serialized, string_object.primitive_string())); - } else if (is(value_object)) { - m_serialized.append(ValueTag::DateObject); - auto& date_object = static_cast(value_object); - double const date_value = date_object.date_value(); - m_serialized.append(bit_cast(&date_value), 2); - } + } else if (value.is_object() && is(value.as_object())) { + m_serialized.append(ValueTag::BooleanObject); + auto& boolean_object = static_cast(value.as_object()); + m_serialized.append(bit_cast(static_cast(boolean_object.boolean()))); + } else if (value.is_object() && is(value.as_object())) { + m_serialized.append(ValueTag::NumberObject); + auto& number_object = static_cast(value.as_object()); + double const number = number_object.number(); + m_serialized.append(bit_cast(&number), 2); + } else if (value.is_object() && is(value.as_object())) { + m_serialized.append(ValueTag::StringObject); + auto& string_object = static_cast(value.as_object()); + TRY(serialize_string(m_serialized, string_object.primitive_string())); + } else if (value.is_object() && is(value.as_object())) { + m_serialized.append(ValueTag::DateObject); + auto& date_object = static_cast(value.as_object()); + double const date_value = date_object.date_value(); + m_serialized.append(bit_cast(&date_value), 2); } else { // TODO: Define many more types m_error = "Unsupported type"sv;