From 0eed357a5e1ceb3061d88ef99a612bb8c4526fa7 Mon Sep 17 00:00:00 2001
From: Shin'ya Ueoka <ueokande@i-beam.org>
Date: Sat, 9 Sep 2017 20:16:51 +0900
Subject: broadcast an action

---
 src/background/index.js      |  2 ++
 src/console/console-frame.js |  2 +-
 src/console/console.js       | 11 ++++++++---
 src/content/index.js         | 11 ++++-------
 4 files changed, 15 insertions(+), 11 deletions(-)

(limited to 'src')

diff --git a/src/background/index.js b/src/background/index.js
index 171f90e..61d4895 100644
--- a/src/background/index.js
+++ b/src/background/index.js
@@ -96,5 +96,7 @@ browser.runtime.onMessage.addListener((request, sender) => {
         items: items
       };
     });
+  default:
+    return browser.tabs.sendMessage(sender.tab.id, request);
   }
 });
diff --git a/src/console/console-frame.js b/src/console/console-frame.js
index e6bf3f5..a590da9 100644
--- a/src/console/console-frame.js
+++ b/src/console/console-frame.js
@@ -22,8 +22,8 @@ export default class ConsoleFrame {
       type: 'vimvixen.console.show.command',
       text: text
     };
-    messages.send(this.element.contentWindow, message);
     this.errorShown = false;
+    return browser.runtime.sendMessage(message);
   }
 
   showError(text) {
diff --git a/src/console/console.js b/src/console/console.js
index c32eca0..ae05001 100644
--- a/src/console/console.js
+++ b/src/console/console.js
@@ -195,9 +195,6 @@ const selectCompletion = (target) => {
 
 messages.receive(window, (message) => {
   switch (message.type) {
-  case 'vimvixen.console.show.command':
-    showCommand(message.text);
-    break;
   case 'vimvixen.console.show.error':
     showError(message.text);
     break;
@@ -206,3 +203,11 @@ messages.receive(window, (message) => {
     break;
   }
 });
+
+browser.runtime.onMessage.addListener((action) => {
+  switch (action.type) {
+  case 'vimvixen.console.show.command':
+    return showCommand(action.text);
+  }
+  return Promise.resolve();
+});
diff --git a/src/content/index.js b/src/content/index.js
index d5cca94..a2a864d 100644
--- a/src/content/index.js
+++ b/src/content/index.js
@@ -11,19 +11,16 @@ let vvConsole = new ConsoleFrame(window);
 browser.runtime.onMessage.addListener((action) => {
   switch (action.type) {
   case actions.CMD_OPEN:
-    vvConsole.showCommand('');
-    break;
+    return vvConsole.showCommand('');
   case actions.CMD_TABS_OPEN:
     if (action.alter) {
       // alter url
-      vvConsole.showCommand('open ' + window.location.href);
+      return vvConsole.showCommand('open ' + window.location.href);
     } else {
-      vvConsole.showCommand('open ');
+      return vvConsole.showCommand('open ');
     }
-    break;
   case actions.CMD_BUFFER:
-    vvConsole.showCommand('buffer ');
-    break;
+    return vvConsole.showCommand('buffer ');
   case actions.SCROLL_LINES:
     scrolls.scrollLines(window, action.count);
     break;
-- 
cgit v1.2.3