Commit 6d9b2302 authored by Adithya Srinivasan's avatar Adithya Srinivasan Committed by Commit Bot

Portals: Log console error when cross-origin postMessage fails

Follow up to https://crrev.com/c/2382064.

Bug: 1108793
Change-Id: Iba5aaedcf026907760bc9300846a5d45c0dfe6c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2398998Reviewed-by: default avatarLucas Gadani <lfg@chromium.org>
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#805554}
parent 47dda8d7
...@@ -338,17 +338,30 @@ void Portal::Activate(blink::TransferableMessage data, ...@@ -338,17 +338,30 @@ void Portal::Activate(blink::TransferableMessage data,
std::move(data), activation_time, std::move(callback))); std::move(data), activation_time, std::move(callback)));
} }
namespace {
const char* kCrossOriginPostMessageError =
"postMessage failed because portal is not same origin with its host";
}
void Portal::PostMessageToGuest(blink::TransferableMessage message) { void Portal::PostMessageToGuest(blink::TransferableMessage message) {
if (!IsSameOrigin()) if (!IsSameOrigin()) {
owner_render_frame_host()->AddMessageToConsole(
blink::mojom::ConsoleMessageLevel::kError,
kCrossOriginPostMessageError);
return; return;
}
portal_contents_->GetMainFrame()->ForwardMessageFromHost( portal_contents_->GetMainFrame()->ForwardMessageFromHost(
std::move(message), owner_render_frame_host_->GetLastCommittedOrigin()); std::move(message), owner_render_frame_host_->GetLastCommittedOrigin());
} }
void Portal::PostMessageToHost(blink::TransferableMessage message) { void Portal::PostMessageToHost(blink::TransferableMessage message) {
DCHECK(GetPortalContents()); DCHECK(GetPortalContents());
if (!IsSameOrigin()) if (!IsSameOrigin()) {
portal_contents_->GetMainFrame()->AddMessageToConsole(
blink::mojom::ConsoleMessageLevel::kError,
kCrossOriginPostMessageError);
return; return;
}
client().ForwardMessageFromGuest( client().ForwardMessageFromGuest(
std::move(message), std::move(message),
GetPortalContents()->GetMainFrame()->GetLastCommittedOrigin()); GetPortalContents()->GetMainFrame()->GetLastCommittedOrigin());
......
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