aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/background/index.js5
-rw-r--r--src/content/index.js22
2 files changed, 21 insertions, 6 deletions
diff --git a/src/background/index.js b/src/background/index.js
index d8047a6..8f2e44c 100644
--- a/src/background/index.js
+++ b/src/background/index.js
@@ -17,7 +17,10 @@ const keyPressHandle = (request, sender, sendResponse) => {
if (actions.isBackgroundAction(action[0])) {
doBackgroundAction(sender, action);
} else if (actions.isContentAction(action[0])) {
- sendResponse(action);
+ sendResponse({
+ type: 'response.action',
+ action: action
+ });
}
};
diff --git a/src/content/index.js b/src/content/index.js
index 731d6a5..12251a8 100644
--- a/src/content/index.js
+++ b/src/content/index.js
@@ -7,7 +7,7 @@ import Follow from './follow';
let vvConsole = new ConsoleFrame(window);
-const invokeEvent = (action) => {
+const doAction = (action) => {
if (typeof action === 'undefined' || action === null) {
return;
}
@@ -57,6 +57,18 @@ const invokeEvent = (action) => {
}
}
+const handleResponse = (response) => {
+ if (!response) {
+ return;
+ }
+
+ switch(response.type) {
+ case 'response.action':
+ doAction(response.action);
+ break;
+ }
+};
+
window.addEventListener("keypress", (e) => {
if (e.target instanceof HTMLInputElement) {
return;
@@ -69,10 +81,10 @@ window.addEventListener("keypress", (e) => {
}
browser.runtime.sendMessage(request)
- .then(invokeEvent,
- (err) => {
- console.log(`Vim Vixen: ${err}`);
- });
+ .then(handleResponse)
+ .catch((err) => {
+ console.log(`Vim Vixen: ${err}`);
+ });
});
messages.receive(window, (message) => {