diff options
Diffstat (limited to 'e2e/ambassador/src/content')
-rw-r--r-- | e2e/ambassador/src/content/index.js | 19 | ||||
-rw-r--r-- | e2e/ambassador/src/content/scrolls.js | 18 |
2 files changed, 25 insertions, 12 deletions
diff --git a/e2e/ambassador/src/content/index.js b/e2e/ambassador/src/content/index.js index 8573d66..93943b8 100644 --- a/e2e/ambassador/src/content/index.js +++ b/e2e/ambassador/src/content/index.js @@ -1,21 +1,12 @@ import { - WINDOWS_CREATE, WINDOWS_REMOVE, WINDOWS_GET, - TABS_CREATE, 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) => { - 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); - } + return ipc.sendToBackground(message); }); ipc.receiveBackgroundMesssage((message) => { @@ -32,6 +23,10 @@ ipc.receiveBackgroundMesssage((message) => { 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({}); }); diff --git a/e2e/ambassador/src/content/scrolls.js b/e2e/ambassador/src/content/scrolls.js new file mode 100644 index 0000000..79be01d --- /dev/null +++ b/e2e/ambassador/src/content/scrolls.js @@ -0,0 +1,18 @@ +const get = () => { + let element = document.documentElement; + return { + xMax: element.scrollWidth - element.clientWidth, + yMax: element.scrollHeight - element.clientHeight, + x: element.scrollLeft, + y: element.scrollTop, + }; +}; + +const set = (x, y) => { + let element = document.documentElement; + element.scrollLeft = x; + element.scrollTop = y; + return get(); +}; + +export { get, set }; |