| Index: components/html_viewer/html_frame.cc
|
| diff --git a/components/html_viewer/html_frame.cc b/components/html_viewer/html_frame.cc
|
| index edaed4f2c63cd875ffa769a50c1c4d5da377ba7f..968eefde88cc44a95f665e300dbe0f04f79f930b 100644
|
| --- a/components/html_viewer/html_frame.cc
|
| +++ b/components/html_viewer/html_frame.cc
|
| @@ -748,20 +748,6 @@ void HTMLFrame::OnPostMessageEvent(uint32_t source_frame_id,
|
| serialized_script_value = blink::WebSerializedScriptValue::fromString(
|
| serialized_event->data.To<blink::WebString>());
|
|
|
| - blink::WebMessagePortChannelArray channels;
|
| -
|
| - // Create an event with the message. The next-to-last parameter to
|
| - // initMessageEvent is the last event ID, which is not used with postMessage.
|
| - blink::WebDOMEvent event =
|
| - target_web_frame->document().createEvent("MessageEvent");
|
| - blink::WebDOMMessageEvent msg_event = event.to<blink::WebDOMMessageEvent>();
|
| - msg_event.initMessageEvent(
|
| - "message",
|
| - // |canBubble| and |cancellable| are always false
|
| - false, false, serialized_script_value,
|
| - serialized_event->source_origin.To<blink::WebString>(),
|
| - source->web_frame_, target_web_frame->document(), "", channels);
|
| -
|
| // We must pass in the target_origin to do the security check on this side,
|
| // since it may have changed since the original postMessage call was made.
|
| blink::WebSecurityOrigin target_origin;
|
| @@ -769,6 +755,13 @@ void HTMLFrame::OnPostMessageEvent(uint32_t source_frame_id,
|
| target_origin = blink::WebSecurityOrigin::createFromString(
|
| serialized_event->target_origin.To<blink::WebString>());
|
| }
|
| +
|
| + // TODO(esprehn): Shouldn't this also fill in channels like RenderFrameImpl?
|
| + blink::WebMessagePortChannelArray channels;
|
| + blink::WebDOMMessageEvent msg_event(serialized_script_value,
|
| + serialized_event->source_origin.To<blink::WebString>(),
|
| + source->web_frame_, target_web_frame->document(), channels);
|
| +
|
| target_web_frame->dispatchMessageEventWithOriginCheck(target_origin,
|
| msg_event);
|
| }
|
|
|