diff --git a/shell/common/v8_value_serializer.cc b/shell/common/v8_value_serializer.cc index 96251a149ad3..915a6779ba1e 100644 --- a/shell/common/v8_value_serializer.cc +++ b/shell/common/v8_value_serializer.cc @@ -49,10 +49,12 @@ class V8Serializer : public v8::ValueSerializer::Delegate { } DCHECK(wrote_value); - std::pair buffer = serializer_.Release(); - DCHECK_EQ(buffer.first, data_.data()); - out->encoded_message = base::make_span(buffer.first, buffer.second); + const auto [data_bytes, data_len] = serializer_.Release(); + DCHECK_EQ(std::data(data_), data_bytes); + DCHECK_GE(std::size(data_), data_len); + data_.resize(data_len); out->owned_encoded_message = std::move(data_); + out->encoded_message = out->owned_encoded_message; out->sender_agent_cluster_id = blink::WebMessagePort::GetEmbedderAgentClusterID();