send press key to tabs
This commit is contained in:
parent
cf03d278eb
commit
3f8bbe11d9
11 changed files with 153 additions and 30 deletions
|
@ -1,11 +1,35 @@
|
|||
import { WINDOWS_CREATE, WINDOWS_REMOVE } from '../shared/messages';
|
||||
import {
|
||||
WINDOWS_CREATE, WINDOWS_REMOVE, TABS_CREATE,
|
||||
EVENT_KEYPRESS, EVENT_KEYDOWN, EVENT_KEYUP,
|
||||
} from '../shared/messages';
|
||||
import * as ipc from './ipc';
|
||||
|
||||
ipc.receivePageMessage((message) => {
|
||||
switch (message.type) {
|
||||
case WINDOWS_CREATE:
|
||||
return ipc.send(message);
|
||||
case WINDOWS_REMOVE:
|
||||
return ipc.send(message);
|
||||
case TABS_CREATE:
|
||||
case EVENT_KEYPRESS:
|
||||
case EVENT_KEYDOWN:
|
||||
case EVENT_KEYUP:
|
||||
return ipc.sendToBackground(message);
|
||||
}
|
||||
});
|
||||
|
||||
ipc.receiveBackgroundMesssage((message) => {
|
||||
switch (message.type) {
|
||||
case EVENT_KEYPRESS:
|
||||
document.body.dispatchEvent(
|
||||
new KeyboardEvent('keypress', { 'key': message.key }));
|
||||
break;
|
||||
case EVENT_KEYDOWN:
|
||||
document.body.dispatchEvent(
|
||||
new KeyboardEvent('keydown', { 'key': message.key }));
|
||||
break;
|
||||
case EVENT_KEYUP:
|
||||
document.body.dispatchEvent(
|
||||
new KeyboardEvent('keyup', { 'key': message.key }));
|
||||
break;
|
||||
}
|
||||
return Promise.resolve({});
|
||||
});
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
import { METHOD_REQUEST, METHOD_RESPONSE } from '../shared/messages';
|
||||
|
||||
const send = (message) => {
|
||||
const sendToBackground = (message) => {
|
||||
return browser.runtime.sendMessage(message);
|
||||
};
|
||||
|
||||
const receiveBackgroundMesssage = (func) => {
|
||||
return browser.runtime.onMessage.addListener((message) => {
|
||||
return Promise.resolve(func(message));
|
||||
});
|
||||
};
|
||||
|
||||
const receivePageMessage = (func) => {
|
||||
window.addEventListener('message', (e) => {
|
||||
let packet = e.data;
|
||||
|
@ -28,4 +34,7 @@ const receivePageMessage = (func) => {
|
|||
});
|
||||
};
|
||||
|
||||
export { send, receivePageMessage };
|
||||
export {
|
||||
sendToBackground, receiveBackgroundMesssage,
|
||||
receivePageMessage,
|
||||
};
|
||||
|
|
Reference in a new issue