aboutsummaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2017-10-19 21:46:51 +0900
committerGitHub <noreply@github.com>2017-10-19 21:46:51 +0900
commitc47a2075bcada9dbb1ab1076a92238d6ce48d347 (patch)
tree27308ee55c2b25a0609c8277909a6aff6b45021f /src/shared
parent86431e82f75af48f1a8b98c95257714ff75261fc (diff)
parent71d35005b4b33e90a85dc50964cb96a8b462b748 (diff)
Merge pull request #84 from ueokande/14-lose-console-focus
Fix close focus
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/messages.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/shared/messages.js b/src/shared/messages.js
index 134d71c..dc497b6 100644
--- a/src/shared/messages.js
+++ b/src/shared/messages.js
@@ -1,3 +1,26 @@
+const onWebMessage = (listener) => {
+ window.addEventListener('message', (event) => {
+ let sender = event.source;
+ let message = null;
+ try {
+ message = JSON.parse(event.data);
+ } catch (e) {
+ // ignore unexpected message
+ return;
+ }
+ listener(message, sender);
+ });
+};
+
+const onBackgroundMessage = (listener) => {
+ browser.runtime.onMessage.addListener(listener);
+};
+
+const onMessage = (listener) => {
+ onWebMessage(listener);
+ onBackgroundMessage(listener);
+};
+
export default {
BACKGROUND_OPERATION: 'background.operation',
@@ -23,4 +46,8 @@ export default {
SETTINGS_RELOAD: 'settings.reload',
SETTINGS_CHANGED: 'settings.changed',
SETTINGS_QUERY: 'settings.query',
+
+ onWebMessage,
+ onBackgroundMessage,
+ onMessage,
};