aboutsummaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2017-09-01 11:40:24 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2017-09-01 11:52:31 +0900
commitadcaf2aa48d0453f231268f5db168376c08e4e6b (patch)
treed20e4770644e504c2997cc80c17c5cae355f108e /src/shared
parent95c095f366106952d25982f12d99e4858c54cdb9 (diff)
message passing by helper functions
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/messages.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/shared/messages.js b/src/shared/messages.js
new file mode 100644
index 0000000..517fc4c
--- /dev/null
+++ b/src/shared/messages.js
@@ -0,0 +1,19 @@
+const receive = (win, callback) => {
+ win.addEventListener('message', (e) => {
+ let message;
+ try {
+ message = JSON.parse(e.data);
+ } catch (e) {
+ // ignore message posted by author of web page
+ return;
+ }
+
+ callback(message);
+ })
+}
+
+const send = (win, message) => {
+ win.postMessage(JSON.stringify(message), '*');
+}
+
+export { receive, send };