summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authoresprehn <esprehn@chromium.org>2015-09-28 13:53:31 -0700
committerCommit bot <commit-bot@chromium.org>2015-09-28 20:54:44 +0000
commit4aae4de1c3375d1f216dc0316c272414c5dd9b12 (patch)
tree2be2640700e709c6a67e7a2b678308d74f8d9982 /content/renderer
parent072b61ff751b6a5d73c5c7680d1b342e488d5c2b (diff)
downloadchromium_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.cc12
-rw-r--r--content/renderer/render_frame_impl.cc17
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);
}