Commit ac589002 authored by Wez's avatar Wez Committed by Commit Bot

[fuchsia] Fix BlinkMessageFromFidl() to handle |incoming_transfer|.

FidlMessageFromBlink() populates the |incoming_transfer| field of the
resulting fuchsia.web.Message with any |ports|, but the
BlinkMessageFromFidl() API only considered |outgoing_transfer|. Round-
trip messages between the two would therefore drop any associated ports.

Bug: b/154200695
Change-Id: Ib5b2346d321219166b62d5b60473852a7ffd9d61
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2362589
Auto-Submit: Wez <wez@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: default avatarKevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#799203}
parent b24d2f01
......@@ -38,10 +38,17 @@ base::Optional<fuchsia::web::FrameError> BlinkMessageFromFidl(
blink_message->data = data_utf16;
if (fidl_message.has_outgoing_transfer()) {
for (fuchsia::web::OutgoingTransferable& outgoing :
for (fuchsia::web::OutgoingTransferable& transferrable :
*fidl_message.mutable_outgoing_transfer()) {
blink_message->ports.push_back(
BlinkMessagePortFromFidl(std::move(outgoing.message_port())));
BlinkMessagePortFromFidl(std::move(transferrable.message_port())));
}
}
if (fidl_message.has_incoming_transfer()) {
for (fuchsia::web::IncomingTransferable& transferrable :
*fidl_message.mutable_incoming_transfer()) {
blink_message->ports.push_back(
BlinkMessagePortFromFidl(std::move(transferrable.message_port())));
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment