diff options
Diffstat (limited to 'e2e/ambassador')
-rw-r--r-- | e2e/ambassador/src/background/index.js | 7 | ||||
-rw-r--r-- | e2e/ambassador/src/background/tabs.js | 10 | ||||
-rw-r--r-- | e2e/ambassador/src/client/tabs.js | 14 | ||||
-rw-r--r-- | e2e/ambassador/src/shared/messages.js | 2 |
4 files changed, 29 insertions, 4 deletions
diff --git a/e2e/ambassador/src/background/index.js b/e2e/ambassador/src/background/index.js index c3e9dc1..6425b54 100644 --- a/e2e/ambassador/src/background/index.js +++ b/e2e/ambassador/src/background/index.js @@ -1,6 +1,6 @@ import { WINDOWS_CREATE, WINDOWS_REMOVE, WINDOWS_GET, - TABS_CREATE, + TABS_CREATE, TABS_SELECT_AT, EVENT_KEYPRESS, EVENT_KEYDOWN, EVENT_KEYUP, SCROLL_GET, SCROLL_SET, } from '../shared/messages'; @@ -20,6 +20,11 @@ receiveContentMessage((message) => { url: message.url, windowId: message.windowId, }); + case TABS_SELECT_AT: + return tabs.selectAt({ + windowId: message.windowId, + index: message.index, + }); case EVENT_KEYPRESS: case EVENT_KEYDOWN: case EVENT_KEYUP: diff --git a/e2e/ambassador/src/background/tabs.js b/e2e/ambassador/src/background/tabs.js index 93d47a3..d049500 100644 --- a/e2e/ambassador/src/background/tabs.js +++ b/e2e/ambassador/src/background/tabs.js @@ -13,6 +13,14 @@ const create = (props = {}) => { }); }; +const selectAt = (props = {}) => { + return browser.tabs.query({ windowId: props.windowId }).then((tabs) => { + let target = tabs[props.index]; + return browser.tabs.update(target.id, { active: true }); + }); +}; + + export { - create, + create, selectAt }; diff --git a/e2e/ambassador/src/client/tabs.js b/e2e/ambassador/src/client/tabs.js index 4db3c11..6aaefbd 100644 --- a/e2e/ambassador/src/client/tabs.js +++ b/e2e/ambassador/src/client/tabs.js @@ -1,4 +1,6 @@ -import { TABS_CREATE } from '../shared/messages'; +import { + TABS_CREATE, TABS_SELECT_AT, +} from '../shared/messages'; import * as ipc from './ipc'; const create = (windowId, url) => { @@ -9,4 +11,12 @@ const create = (windowId, url) => { }); }; -export { create }; +const selectAt = (windowId, index) => { + return ipc.send({ + type: TABS_SELECT_AT, + windowId, + index, + }); +}; + +export { create, selectAt }; diff --git a/e2e/ambassador/src/shared/messages.js b/e2e/ambassador/src/shared/messages.js index dd389db..9fd1054 100644 --- a/e2e/ambassador/src/shared/messages.js +++ b/e2e/ambassador/src/shared/messages.js @@ -4,6 +4,7 @@ const WINDOWS_CREATE = 'windows.create'; const WINDOWS_REMOVE = 'windows.remove'; const WINDOWS_GET = 'windows.get'; const TABS_CREATE = 'tabs.create'; +const TABS_SELECT_AT = 'tabs.selectAt'; const EVENT_KEYPRESS = 'event.keypress'; const EVENT_KEYDOWN = 'event.keydown'; const EVENT_KEYUP = 'event.keyup'; @@ -19,6 +20,7 @@ export { WINDOWS_GET, TABS_CREATE, + TABS_SELECT_AT, EVENT_KEYPRESS, EVENT_KEYDOWN, |