You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

38 lines
931 B

import {
WINDOWS_CREATE, WINDOWS_REMOVE, WINDOWS_GET,
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:
case WINDOWS_REMOVE:
case WINDOWS_GET:
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({});
});