diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2017-10-19 21:46:51 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-19 21:46:51 +0900 |
commit | c47a2075bcada9dbb1ab1076a92238d6ce48d347 (patch) | |
tree | 27308ee55c2b25a0609c8277909a6aff6b45021f /src/shared | |
parent | 86431e82f75af48f1a8b98c95257714ff75261fc (diff) | |
parent | 71d35005b4b33e90a85dc50964cb96a8b462b748 (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.js | 27 |
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, }; |