aboutsummaryrefslogtreecommitdiff
path: root/src/actions/operation.js
blob: 4106076aba58546182848e29423f94f3de2c1b6e (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
import operations from '../operations';
import * as tabs from '../background/tabs';
import * as zooms from '../background/zooms';

export function exec(operation, sender) {
  switch (operation.type) {
  case operations.TABS_CLOSE:
    return tabs.closeTab(sender.tab.id);
  case operations.TABS_REOPEN:
    return tabs.reopenTab();
  case operations.TABS_PREV:
    return tabs.selectPrevTab(sender.tab.index, operation.count);
  case operations.TABS_NEXT:
    return tabs.selectNextTab(sender.tab.index, operation.count);
  case operations.TABS_RELOAD:
    return tabs.reload(sender.tab, operation.cache);
  case operations.ZOOM_IN:
    return zooms.zoomIn();
  case operations.ZOOM_OUT:
    return zooms.zoomOut();
  case operations.ZOOM_NEUTRAL:
    return zooms.neutral();
  default:
    return Promise.resolve();
  }
}