summaryrefslogtreecommitdiffstats
path: root/content/test
diff options
context:
space:
mode:
Diffstat (limited to 'content/test')
-rw-r--r--content/test/data/browser_plugin_embedder.html32
-rw-r--r--content/test/data/browser_plugin_post_message_guest.html23
2 files changed, 53 insertions, 2 deletions
diff --git a/content/test/data/browser_plugin_embedder.html b/content/test/data/browser_plugin_embedder.html
index e192865..5702027 100644
--- a/content/test/data/browser_plugin_embedder.html
+++ b/content/test/data/browser_plugin_embedder.html
@@ -23,6 +23,16 @@ function SetSize(w, h) {
plugin.width = w;
plugin.height = h;
}
+function PostMessage(data, shouldTargetIframe) {
+ plugin = document.getElementById('plugin');
+ // TODO(fsamuel): contentWindow can be accessed directly once
+ // http://wkbug.com/85679 lands.
+ if (shouldTargetIframe) {
+ plugin.contentWindow.frames[0].postMessage('testing123', '*');
+ } else {
+ plugin.contentWindow.frames.postMessage('testing123', '*');
+ }
+}
function Back() {
var plugin = document.getElementById('plugin');
plugin.back();
@@ -55,10 +65,28 @@ document.title = 'embedder';
width="640"
height="480"
border="0px"></object>
-
-<script>
+<script type="text/javascript">
+var msg;
+function receiveMessage(event) {
+ msg = event.data;
+ if (msg == 'ready') {
+ document.title = 'ready';
+ return;
+ }
+ if (msg.indexOf('stop_ack') == -1) {
+ event.source.postMessage('stop', '*');
+ } else {
+ var name = msg.replace("stop_ack", "").trim();
+ if (name !== '') {
+ window.document.title = name;
+ } else {
+ window.document.title = 'main guest';
+ }
+ }
+}
var plugin = document.getElementById('plugin');
plugin.addEventListener('loadStart', loadStart);
plugin.addEventListener('loadAbort', loadAbort);
plugin.addEventListener('loadRedirect', loadRedirect);
+ window.addEventListener('message', receiveMessage, false);
</script>
diff --git a/content/test/data/browser_plugin_post_message_guest.html b/content/test/data/browser_plugin_post_message_guest.html
new file mode 100644
index 0000000..57c1c3c
--- /dev/null
+++ b/content/test/data/browser_plugin_post_message_guest.html
@@ -0,0 +1,23 @@
+<script>
+ var embedder;
+ function receiveMessage(event) {
+ embedder = event.source;
+ if (event.data !== 'stop') {
+ event.source.postMessage('foobar', '*');
+ } else {
+ if (event.data !== '') {
+ event.source.postMessage('stop_ack ' + window.name, '*');
+ }
+ }
+ }
+ window.addEventListener('message', receiveMessage, false);
+ function CreateChildFrame(src) {
+ var ifrm = document.createElement("IFRAME");
+ ifrm.style.width = "640px";
+ ifrm.style.height = "480px";
+ ifrm.src = src;
+ ifrm.name = 'iframe';
+ document.body.appendChild(ifrm);
+ embedder.postMessage('ready', '*');
+ }
+</script>