Files
ladybird/Libraries/LibWeb/Bindings/Serializable.h
Shannon Booth 6a9cd0e8e0 LibWeb: Use interface_name instead of serialize_type virtual
`interface_name` is implemented for every platform object,
so we no longer need this boilerplate for every serializable
platform object.
2026-02-14 20:22:40 +01:00

28 lines
885 B
C++

/*
* Copyright (c) 2024, Kenneth Myhra <kennethmyhra@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibWeb/Bindings/IntrinsicDefinitions.h>
#include <LibWeb/Forward.h>
#include <LibWeb/HTML/StructuredSerializeTypes.h>
namespace Web::Bindings {
// https://html.spec.whatwg.org/multipage/structured-data.html#serializable-objects
class Serializable {
public:
virtual ~Serializable() = default;
// https://html.spec.whatwg.org/multipage/structured-data.html#serialization-steps
virtual WebIDL::ExceptionOr<void> serialization_steps(HTML::TransferDataEncoder&, bool for_storage, HTML::SerializationMemory&) = 0;
// https://html.spec.whatwg.org/multipage/structured-data.html#deserialization-steps
virtual WebIDL::ExceptionOr<void> deserialization_steps(HTML::TransferDataDecoder&, HTML::DeserializationMemory&) = 0;
};
}