aboutsummaryrefslogtreecommitdiff
path: root/e2e/ambassador/src/content/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'e2e/ambassador/src/content/index.js')
-rw-r--r--e2e/ambassador/src/content/index.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/e2e/ambassador/src/content/index.js b/e2e/ambassador/src/content/index.js
new file mode 100644
index 0000000..8573d66
--- /dev/null
+++ b/e2e/ambassador/src/content/index.js
@@ -0,0 +1,37 @@
+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({});
+});