/* * Copyright (c) 2025, Luke Wilde * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include namespace IPC { template<> ErrorOr encode(Encoder& encoder, Web::ContentSecurityPolicy::SerializedPolicy const& serialized_policy) { TRY(encoder.encode(serialized_policy.directives)); TRY(encoder.encode(serialized_policy.disposition)); TRY(encoder.encode(serialized_policy.source)); TRY(encoder.encode(serialized_policy.self_origin)); TRY(encoder.encode(serialized_policy.pre_parsed_policy_string)); return {}; } template<> ErrorOr decode(Decoder& decoder) { Web::ContentSecurityPolicy::SerializedPolicy serialized_policy {}; serialized_policy.directives = TRY(decoder.decode>()); serialized_policy.disposition = TRY(decoder.decode()); serialized_policy.source = TRY(decoder.decode()); serialized_policy.self_origin = TRY(decoder.decode()); serialized_policy.pre_parsed_policy_string = TRY(decoder.decode()); return serialized_policy; } }