Commit fbf11067 authored by David Dorwin's avatar David Dorwin Committed by Commit Bot

[fuchsia] Remove duplicate handling of incoming_transfer

This appears to have been a merge error on top of
https://crrev.com/c/2362589 in patch set 12 of
https://crrev.com/c/2293110 (relanded as https://crrev.com/c/2417492).

Also report an error if both incoming and outgoing transfers are
present.

Bug: 1104369
Change-Id: I09ca94ce5225ebd2fc540a3a93fa0b63d1b70d8b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2430302Reviewed-by: default avatarKevin Marshall <kmarshall@chromium.org>
Commit-Queue: David Dorwin <ddorwin@chromium.org>
Auto-Submit: David Dorwin <ddorwin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#810745}
parent aa3a70f5
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include <vector> #include <vector>
#include "base/bind.h" #include "base/bind.h"
#include "base/check.h"
#include "base/containers/circular_deque.h" #include "base/containers/circular_deque.h"
#include "base/fuchsia/fuchsia_logging.h" #include "base/fuchsia/fuchsia_logging.h"
#include "base/macros.h" #include "base/macros.h"
...@@ -40,19 +41,17 @@ base::Optional<fuchsia::web::FrameError> BlinkMessageFromFidl( ...@@ -40,19 +41,17 @@ base::Optional<fuchsia::web::FrameError> BlinkMessageFromFidl(
} }
blink_message->data = data_utf16; blink_message->data = data_utf16;
if (fidl_message.has_outgoing_transfer() &&
fidl_message.has_incoming_transfer()) {
DLOG(WARNING) << "WebMessage may only have incoming or outgoing transfer.";
return fuchsia::web::FrameError::INTERNAL_ERROR;
}
if (fidl_message.has_outgoing_transfer()) { if (fidl_message.has_outgoing_transfer()) {
for (fuchsia::web::OutgoingTransferable& transferrable : for (fuchsia::web::OutgoingTransferable& transferrable :
*fidl_message.mutable_outgoing_transfer()) { *fidl_message.mutable_outgoing_transfer()) {
blink_message->ports.push_back( blink_message->ports.push_back(
BlinkMessagePortFromFidl(std::move(transferrable.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())));
}
} else if (fidl_message.has_incoming_transfer()) { } else if (fidl_message.has_incoming_transfer()) {
for (fuchsia::web::IncomingTransferable& incoming : for (fuchsia::web::IncomingTransferable& incoming :
*fidl_message.mutable_incoming_transfer()) { *fidl_message.mutable_incoming_transfer()) {
......
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