diff --git a/Userland/Libraries/LibWeb/Bindings/Serializable.h b/Userland/Libraries/LibWeb/Bindings/Serializable.h index 0cc85709876..c4ef2714774 100644 --- a/Userland/Libraries/LibWeb/Bindings/Serializable.h +++ b/Userland/Libraries/LibWeb/Bindings/Serializable.h @@ -19,7 +19,7 @@ public: virtual StringView interface_name() const = 0; // https://html.spec.whatwg.org/multipage/structured-data.html#serialization-steps - virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord&, bool for_storage) = 0; + virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord&, bool for_storage, HTML::SerializationMemory&) = 0; // https://html.spec.whatwg.org/multipage/structured-data.html#deserialization-steps virtual WebIDL::ExceptionOr deserialization_steps(ReadonlySpan const&, size_t& position) = 0; }; diff --git a/Userland/Libraries/LibWeb/FileAPI/Blob.cpp b/Userland/Libraries/LibWeb/FileAPI/Blob.cpp index f13c649f958..16feb91e5f4 100644 --- a/Userland/Libraries/LibWeb/FileAPI/Blob.cpp +++ b/Userland/Libraries/LibWeb/FileAPI/Blob.cpp @@ -149,7 +149,7 @@ void Blob::initialize(JS::Realm& realm) WEB_SET_PROTOTYPE_FOR_INTERFACE(Blob); } -WebIDL::ExceptionOr Blob::serialization_steps(HTML::SerializationRecord& record, bool) +WebIDL::ExceptionOr Blob::serialization_steps(HTML::SerializationRecord& record, bool, HTML::SerializationMemory&) { auto& vm = this->vm(); diff --git a/Userland/Libraries/LibWeb/FileAPI/Blob.h b/Userland/Libraries/LibWeb/FileAPI/Blob.h index 642ad2fa028..a1b7facb1af 100644 --- a/Userland/Libraries/LibWeb/FileAPI/Blob.h +++ b/Userland/Libraries/LibWeb/FileAPI/Blob.h @@ -57,7 +57,7 @@ public: virtual StringView interface_name() const override { return "Blob"sv; } - virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord& record, bool for_storage) override; + virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord& record, bool for_storage, HTML::SerializationMemory&) override; virtual WebIDL::ExceptionOr deserialization_steps(ReadonlySpan const& record, size_t& position) override; protected: diff --git a/Userland/Libraries/LibWeb/FileAPI/File.cpp b/Userland/Libraries/LibWeb/FileAPI/File.cpp index 5387cc28ae0..5f44390816b 100644 --- a/Userland/Libraries/LibWeb/FileAPI/File.cpp +++ b/Userland/Libraries/LibWeb/FileAPI/File.cpp @@ -87,7 +87,7 @@ WebIDL::ExceptionOr> File::construct_impl(JS::Realm& real return create(realm, file_bits, file_name, options); } -WebIDL::ExceptionOr File::serialization_steps(HTML::SerializationRecord& record, bool) +WebIDL::ExceptionOr File::serialization_steps(HTML::SerializationRecord& record, bool, HTML::SerializationMemory&) { auto& vm = this->vm(); diff --git a/Userland/Libraries/LibWeb/FileAPI/File.h b/Userland/Libraries/LibWeb/FileAPI/File.h index 100a8eca763..11df4ece07c 100644 --- a/Userland/Libraries/LibWeb/FileAPI/File.h +++ b/Userland/Libraries/LibWeb/FileAPI/File.h @@ -32,7 +32,7 @@ public: virtual StringView interface_name() const override { return "File"sv; } - virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord& record, bool for_storage) override; + virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord& record, bool for_storage, HTML::SerializationMemory&) override; virtual WebIDL::ExceptionOr deserialization_steps(ReadonlySpan const&, size_t& position) override; private: diff --git a/Userland/Libraries/LibWeb/Geometry/DOMMatrixReadOnly.cpp b/Userland/Libraries/LibWeb/Geometry/DOMMatrixReadOnly.cpp index 90816192116..19081d6a5ba 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMMatrixReadOnly.cpp +++ b/Userland/Libraries/LibWeb/Geometry/DOMMatrixReadOnly.cpp @@ -698,7 +698,7 @@ WebIDL::ExceptionOr DOMMatrixReadOnly::to_string() const } // https://drafts.fxtf.org/geometry/#structured-serialization -WebIDL::ExceptionOr DOMMatrixReadOnly::serialization_steps(HTML::SerializationRecord& serialized, bool) +WebIDL::ExceptionOr DOMMatrixReadOnly::serialization_steps(HTML::SerializationRecord& serialized, bool, HTML::SerializationMemory&) { HTML::serialize_primitive_type(serialized, m_is_2d); // 1. If value’s is 2D is true: diff --git a/Userland/Libraries/LibWeb/Geometry/DOMMatrixReadOnly.h b/Userland/Libraries/LibWeb/Geometry/DOMMatrixReadOnly.h index 7a6882dd23c..f30b3b17bd7 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMMatrixReadOnly.h +++ b/Userland/Libraries/LibWeb/Geometry/DOMMatrixReadOnly.h @@ -115,7 +115,7 @@ public: WebIDL::ExceptionOr to_string() const; virtual StringView interface_name() const override { return "DOMMatrixReadOnly"sv; } - virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord&, bool for_storage) override; + virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord&, bool for_storage, HTML::SerializationMemory&) override; virtual WebIDL::ExceptionOr deserialization_steps(ReadonlySpan const& record, size_t& position) override; protected: diff --git a/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.cpp b/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.cpp index 6c719ae301d..cb958eac12a 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.cpp +++ b/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.cpp @@ -65,7 +65,7 @@ void DOMPointReadOnly::initialize(JS::Realm& realm) WEB_SET_PROTOTYPE_FOR_INTERFACE(DOMPointReadOnly); } -WebIDL::ExceptionOr DOMPointReadOnly::serialization_steps(HTML::SerializationRecord& serialized, bool) +WebIDL::ExceptionOr DOMPointReadOnly::serialization_steps(HTML::SerializationRecord& serialized, bool, HTML::SerializationMemory&) { // 1. Set serialized.[[X]] to value’s x coordinate. HTML::serialize_primitive_type(serialized, m_x); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.h b/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.h index ff3a9e4dc55..61e6d6ad4a2 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.h +++ b/Userland/Libraries/LibWeb/Geometry/DOMPointReadOnly.h @@ -45,7 +45,7 @@ public: WebIDL::ExceptionOr> matrix_transform(DOMMatrixInit&) const; virtual StringView interface_name() const override { return "DOMPointReadOnly"sv; } - virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord&, bool for_storage) override; + virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord&, bool for_storage, HTML::SerializationMemory&) override; virtual WebIDL::ExceptionOr deserialization_steps(ReadonlySpan const&, size_t& position) override; protected: diff --git a/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.cpp b/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.cpp index 364a6542822..b9a135ba9e6 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.cpp +++ b/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.cpp @@ -51,7 +51,7 @@ void DOMRectReadOnly::initialize(JS::Realm& realm) } // https://drafts.fxtf.org/geometry/#structured-serialization -WebIDL::ExceptionOr DOMRectReadOnly::serialization_steps(HTML::SerializationRecord& serialized, bool) +WebIDL::ExceptionOr DOMRectReadOnly::serialization_steps(HTML::SerializationRecord& serialized, bool, HTML::SerializationMemory&) { // 1. Set serialized.[[X]] to value’s x coordinate. HTML::serialize_primitive_type(serialized, this->x()); diff --git a/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.h b/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.h index 3e3f43cf2fa..c6450ea458c 100644 --- a/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.h +++ b/Userland/Libraries/LibWeb/Geometry/DOMRectReadOnly.h @@ -70,7 +70,7 @@ public: } virtual StringView interface_name() const override { return "DOMRectReadOnly"sv; } - virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord&, bool for_storage) override; + virtual WebIDL::ExceptionOr serialization_steps(HTML::SerializationRecord&, bool for_storage, HTML::SerializationMemory&) override; virtual WebIDL::ExceptionOr deserialization_steps(ReadonlySpan const&, size_t& position) override; protected: diff --git a/Userland/Libraries/LibWeb/HTML/StructuredSerialize.cpp b/Userland/Libraries/LibWeb/HTML/StructuredSerialize.cpp index dd0f66fdc60..eded9d8885c 100644 --- a/Userland/Libraries/LibWeb/HTML/StructuredSerialize.cpp +++ b/Userland/Libraries/LibWeb/HTML/StructuredSerialize.cpp @@ -315,7 +315,7 @@ public: TRY(serialize_string(m_vm, m_serialized, serializable.interface_name())); // 1. Perform the serialization steps for value's primary interface, given value, serialized, and forStorage. - TRY(serializable.serialization_steps(m_serialized, m_for_storage)); + TRY(serializable.serialization_steps(m_serialized, m_for_storage, m_memory)); } // 20. Otherwise, if value is a platform object, then throw a "DataCloneError" DOMException.