diff options
author | esprehn <esprehn@chromium.org> | 2015-09-28 13:53:31 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-09-28 20:54:44 +0000 |
commit | 4aae4de1c3375d1f216dc0316c272414c5dd9b12 (patch) | |
tree | 2be2640700e709c6a67e7a2b678308d74f8d9982 /content/renderer | |
parent | 072b61ff751b6a5d73c5c7680d1b342e488d5c2b (diff) | |
download | chromium_src-4aae4de1c3375d1f216dc0316c272414c5dd9b12.zip chromium_src-4aae4de1c3375d1f216dc0316c272414c5dd9b12.tar.gz chromium_src-4aae4de1c3375d1f216dc0316c272414c5dd9b12.tar.bz2 |
Remove WebDocument::createEvent.
We shouldn't expose the type unsafe API for creating events, instead lets
expose constructors for the actual event objects. I also removed most of
the functionality of WebDOMCustomEvent since it's only used by the IPCEcho
testing system. As this system has no tests checked in and seems to be only
used by local benchmarking we should probably remove it, but lets do that
in a future patch.
Review URL: https://codereview.chromium.org/1367333002
Cr-Commit-Position: refs/heads/master@{#351135}
Diffstat (limited to 'content/renderer')
-rw-r--r-- | content/renderer/pepper/message_channel.cc | 12 | ||||
-rw-r--r-- | content/renderer/render_frame_impl.cc | 17 |
2 files changed, 7 insertions, 22 deletions
diff --git a/content/renderer/pepper/message_channel.cc b/content/renderer/pepper/message_channel.cc index 9c17e5d..2a02ebd 100644 --- a/content/renderer/pepper/message_channel.cc +++ b/content/renderer/pepper/message_channel.cc @@ -364,17 +364,6 @@ void MessageChannel::PostMessageToJavaScriptImpl( if (!container) return; - WebDOMEvent event = - container->element().document().createEvent("MessageEvent"); - WebDOMMessageEvent msg_event = event.to<WebDOMMessageEvent>(); - msg_event.initMessageEvent("message", // type - false, // canBubble - false, // cancelable - message_data, // data - "", // origin [*] - NULL, // source [*] - container->element().document(), // target document - ""); // lastEventId // [*] Note that the |origin| is only specified for cross-document and server- // sent messages, while |source| is only specified for cross-document // messages: @@ -383,6 +372,7 @@ void MessageChannel::PostMessageToJavaScriptImpl( // at least, postMessage on Workers does not provide the origin or source. // TODO(dmichael): Add origin if we change to a more iframe-like origin // policy (see crbug.com/81537) + WebDOMMessageEvent msg_event(message_data); container->element().dispatchEvent(msg_event); } diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc index 6d5eaba..e049d79 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc @@ -1748,17 +1748,6 @@ void RenderFrameImpl::OnPostMessageEvent( serialized_script_value = WebSerializedScriptValue::fromString(params.data); } - // Create an event with the message. The next-to-last parameter to - // initMessageEvent is the last event ID, which is not used with postMessage. - WebDOMEvent event = frame_->document().createEvent("MessageEvent"); - WebDOMMessageEvent msg_event = event.to<WebDOMMessageEvent>(); - msg_event.initMessageEvent("message", - // |canBubble| and |cancellable| are always false - false, false, - serialized_script_value, - params.source_origin, source_frame, - 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. WebSecurityOrigin target_origin; @@ -1766,6 +1755,12 @@ void RenderFrameImpl::OnPostMessageEvent( target_origin = WebSecurityOrigin::createFromString(WebString(params.target_origin)); } + + WebDOMMessageEvent msg_event(serialized_script_value, + params.source_origin, + source_frame, + frame_->document(), + channels); frame_->dispatchMessageEventWithOriginCheck(target_origin, msg_event); } |