/* * 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) { return Web::ContentSecurityPolicy::SerializedPolicy { .directives = TRY(decoder.decode>()), .disposition = TRY(decoder.decode()), .source = TRY(decoder.decode()), .self_origin = TRY(decoder.decode()), .pre_parsed_policy_string = TRY(decoder.decode()), }; } }