aboutsummaryrefslogtreecommitdiff
path: root/e2e/ambassador/src/background/index.js
blob: c3e9dc1e4f2b51ec8f41a805e43ed8d147a6a6bc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import {
  WINDOWS_CREATE, WINDOWS_REMOVE, WINDOWS_GET,
  TABS_CREATE,
  EVENT_KEYPRESS, EVENT_KEYDOWN, EVENT_KEYUP,
  SCROLL_GET, SCROLL_SET,
} from '../shared/messages';
import * as tabs from './tabs';
import { receiveContentMessage } from './ipc';

receiveContentMessage((message) => {
  switch (message.type) {
  case WINDOWS_CREATE:
    return browser.windows.create({ url: message.url });
  case WINDOWS_REMOVE:
    return browser.windows.remove(message.windowId);
  case WINDOWS_GET:
    return browser.windows.get(message.windowId, { populate: true });
  case TABS_CREATE:
    return tabs.create({
      url: message.url,
      windowId: message.windowId,
    });
  case EVENT_KEYPRESS:
  case EVENT_KEYDOWN:
  case EVENT_KEYUP:
  case SCROLL_GET:
  case SCROLL_SET:
    return browser.tabs.sendMessage(
      message.tabId,
      message
    );
  }
});