aboutsummaryrefslogtreecommitdiff
path: root/src/background
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2018-01-15 12:31:27 +0000
committerGitHub <noreply@github.com>2018-01-15 12:31:27 +0000
commit9daac979d58af46fccfa335b96f468af9bc2fca9 (patch)
tree1d58bee97dd49cc8fa79dc1d6cc60741afefe0ac /src/background
parent423d17aeb6117fad7fbd1d18021e39d444a65b51 (diff)
parent478aa3cfab255fdf33bef175358bd21478f56882 (diff)
Merge pull request #236 from r3r57/feature/force_remove_tab
Closing pinned tabs must be forced
Diffstat (limited to 'src/background')
-rw-r--r--src/background/actions/operation.js2
-rw-r--r--src/background/tabs.js15
2 files changed, 14 insertions, 3 deletions
diff --git a/src/background/actions/operation.js b/src/background/actions/operation.js
index cfee868..1188ea2 100644
--- a/src/background/actions/operation.js
+++ b/src/background/actions/operation.js
@@ -17,6 +17,8 @@ const exec = (operation, tab) => {
switch (operation.type) {
case operations.TAB_CLOSE:
return tabs.closeTab(tab.id);
+ case operations.TAB_CLOSE_FORCE:
+ return tabs.closeTabForce(tab.id);
case operations.TAB_REOPEN:
return tabs.reopenTab();
case operations.TAB_PREV:
diff --git a/src/background/tabs.js b/src/background/tabs.js
index d50d8e5..e939870 100644
--- a/src/background/tabs.js
+++ b/src/background/tabs.js
@@ -9,6 +9,14 @@ browser.tabs.onActivated.addListener((activeInfo) => {
});
const closeTab = (id) => {
+ return browser.tabs.get(id).then((tab) => {
+ if (!tab.pinned) {
+ return browser.tabs.remove(id);
+ }
+ });
+};
+
+const closeTabForce = (id) => {
return browser.tabs.remove(id);
};
@@ -130,7 +138,8 @@ const duplicate = (id) => {
};
export {
- closeTab, reopenTab, selectAt, selectByKeyword, getCompletions,
- selectPrevTab, selectNextTab, selectFirstTab, selectLastTab, selectPrevSelTab,
- reload, updateTabPinned, toggleTabPinned, duplicate
+ closeTab, closeTabForce, reopenTab, selectAt, selectByKeyword,
+ getCompletions, selectPrevTab, selectNextTab, selectFirstTab,
+ selectLastTab, selectPrevSelTab, reload, updateTabPinned,
+ toggleTabPinned, duplicate
};