diff options
Diffstat (limited to 'src/background')
| -rw-r--r-- | src/background/actions/operation.js | 10 | ||||
| -rw-r--r-- | src/background/tabs.js | 14 | 
2 files changed, 23 insertions, 1 deletions
diff --git a/src/background/actions/operation.js b/src/background/actions/operation.js index a5094c0..d0caf80 100644 --- a/src/background/actions/operation.js +++ b/src/background/actions/operation.js @@ -10,6 +10,9 @@ const sendConsoleShowCommand = (tab, command) => {    });  }; +// This switch statement is only gonna get longer as more +// features are added, so disable complexity check +/* eslint-disable complexity */  const exec = (operation, tab) => {    switch (operation.type) {    case operations.TAB_CLOSE: @@ -26,6 +29,12 @@ const exec = (operation, tab) => {      return tabs.selectLastTab();    case operations.TAB_RELOAD:      return tabs.reload(tab, operation.cache); +  case operations.TAB_PIN: +    return tabs.updateTabPinned(tab, true); +  case operations.TAB_UNPIN: +    return tabs.updateTabPinned(tab, false); +  case operations.TAB_TOGGLE_PINNED: +    return tabs.toggleTabPinned(tab);    case operations.ZOOM_IN:      return zooms.zoomIn();    case operations.ZOOM_OUT: @@ -58,5 +67,6 @@ const exec = (operation, tab) => {      return Promise.resolve();    }  }; +/* eslint-enable complexity */  export { exec }; diff --git a/src/background/tabs.js b/src/background/tabs.js index 020c826..23b3b7b 100644 --- a/src/background/tabs.js +++ b/src/background/tabs.js @@ -100,7 +100,19 @@ const reload = (current, cache) => {    );  }; +const updateTabPinned = (current, pinned) => { +  return browser.tabs.query({ currentWindow: true, active: true }) +    .then(() => { +      return browser.tabs.update(current.id, { pinned: pinned }); +    }); +}; + +const toggleTabPinned = (current) => { +  updateTabPinned(current, !current.pinned); +}; +  export {    closeTab, reopenTab, selectAt, selectByKeyword, getCompletions, -  selectPrevTab, selectNextTab, selectFirstTab, selectLastTab, reload +  selectPrevTab, selectNextTab, selectFirstTab, selectLastTab, reload, +  updateTabPinned, toggleTabPinned  };  | 
