diff options
author | Jiabo Hou <jiabo.hou@hotmail.com> | 2017-10-31 19:37:27 -0400 |
---|---|---|
committer | Jiabo Hou <jiabo.hou@hotmail.com> | 2017-11-05 17:28:26 -0500 |
commit | c2d2f895a5e65cc7a42da39e7ab8acf73cb03fc8 (patch) | |
tree | 6210a9309214388082381a0a19d5d16445b0b3b6 /src/background | |
parent | b3b017a123516096dd7be05695f7a71da3b808cc (diff) |
added support for pinning/unpinning tabs
features:
* pin tab
* unpin tab
* toggle pin/unpin tab
Diffstat (limited to 'src/background')
-rw-r--r-- | src/background/actions/operation.js | 6 | ||||
-rw-r--r-- | src/background/tabs.js | 14 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/background/actions/operation.js b/src/background/actions/operation.js index a5094c0..c45eabd 100644 --- a/src/background/actions/operation.js +++ b/src/background/actions/operation.js @@ -26,6 +26,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.updateTabPinned(tab); case operations.ZOOM_IN: return zooms.zoomIn(); case operations.ZOOM_OUT: diff --git a/src/background/tabs.js b/src/background/tabs.js index 020c826..38b2ed9 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(() => { + let newPinned = pinned; + if (newPinned !== true && newPinned !== false) { + newPinned = !current.pinned; + } + return browser.tabs.update(current.id, { pinned: newPinned }); + }); +}; + export { closeTab, reopenTab, selectAt, selectByKeyword, getCompletions, - selectPrevTab, selectNextTab, selectFirstTab, selectLastTab, reload + selectPrevTab, selectNextTab, selectFirstTab, selectLastTab, reload, + updateTabPinned }; |