This repository has been archived on 2020-04-04. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Vim-Vixen/e2e/ambassador/src/content/index.js
2018-02-14 21:12:06 +09:00

32 lines
894 B
JavaScript

import {
EVENT_KEYPRESS, EVENT_KEYDOWN, EVENT_KEYUP,
SCROLL_GET, SCROLL_SET,
} from '../shared/messages';
import * as ipc from './ipc';
import * as scrolls from './scrolls';
ipc.receivePageMessage((message) => {
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;
case SCROLL_GET:
return Promise.resolve(scrolls.get());
case SCROLL_SET:
return Promise.resolve(scrolls.set(message.x, message.y));
}
return Promise.resolve({});
});