1
0
mirror of https://github.com/XFox111/TabsAsideExtension.git synced 2026-04-22 07:58:01 +03:00

Minor 1.4 (#16)

- Added ability to disable tabs loading on restoring (#10)
- Extension optimization
- Added "Contributors" page link
- Updated README.md

Co-authored-by: Amine A. <15179425+AmineI@users.noreply.github.com>
Co-Authored-By: Michael Gordeev <michael@xfox111.net>
This commit is contained in:
Michael Gordeev
2020-06-27 12:56:54 +03:00
committed by GitHub
parent 2b83f3bd60
commit cb45f1a7b3
6 changed files with 74 additions and 90 deletions
+28 -52
View File
@@ -37,25 +37,22 @@ chrome.browserAction.onClicked.addListener(function (tab)
chrome.tabs.create({
url: chrome.extension.getURL("TabsAside.html"),
active: true
});
},
chrome.tabs.onActivated.addListener(function TabsAsideCloser(activeInfo) {
chrome.tabs.query({ url: chrome.extension.getURL("TabsAside.html") }, function (result) {
if (result.length)
setTimeout(function () {
result.forEach(i => {
if (activeInfo.tabId != i.id)
chrome.tabs.remove(i.id);
});
}, 200);
else chrome.tabs.onActivated.removeListener(TabsAsideCloser);
});
}));
}
});
chrome.tabs.onActivated.addListener(function (activeInfo)
{
chrome.tabs.query({ url: chrome.extension.getURL("TabsAside.html") }, function (result)
{
if (result.length)
setTimeout(function ()
{
result.forEach(i =>
{
if (activeInfo.tabId != i.id)
chrome.tabs.remove(i.id);
});
}, 200);
});
});
function UpdateTheme()
{
@@ -146,35 +143,14 @@ chrome.runtime.onMessage.addListener(function (message, sender, sendResponse)
case "share":
ShareTabs(message.collectionIndex);
break;
case "toggleDiscard":
if (localStorage.getItem("loadOnRestore") == "true")
localStorage.setItem("loadOnRestore", false);
else
localStorage.setItem("loadOnRestore", true);
break;
case "getDiscardOption":
sendResponse(localStorage.getItem("loadOnRestore") == "false" ? false : true);
break;
}
});
UpdateTheme();
chrome.windows.onCreated.addListener(UpdateTheme);
chrome.windows.onRemoved.addListener(UpdateTheme);
chrome.windows.onFocusChanged.addListener(UpdateTheme);
chrome.tabs.onUpdated.addListener(UpdateTheme);
chrome.tabs.onCreated.addListener(UpdateTheme);
chrome.tabs.onMoved.addListener(UpdateTheme);
chrome.tabs.onSelectionChanged.addListener(UpdateTheme);
chrome.tabs.onActiveChanged.addListener(UpdateTheme);
chrome.tabs.onActivated.addListener(UpdateTheme);
chrome.tabs.onHighlightChanged.addListener(UpdateTheme);
chrome.tabs.onHighlighted.addListener(UpdateTheme);
chrome.tabs.onDetached.addListener(UpdateTheme);
chrome.tabs.onAttached.addListener(UpdateTheme);
chrome.tabs.onRemoved.addListener(UpdateTheme);
chrome.tabs.onReplaced.addListener(UpdateTheme);
function SaveCollection()
{
@@ -215,9 +191,9 @@ function SaveCollection()
chrome.tabs.create({}, function(tab) { newTabId = tab.id; });
chrome.tabs.remove(rawTabs.filter(i => !i.url.startsWith("chrome-extension") && !i.url.endsWith("TabsAside.html") && !i.pinned && i.id != newTabId).map(tab => tab.id));
});
UpdateTheme();
UpdateTheme();
});
}
function DeleteCollection(collectionIndex)
@@ -236,20 +212,20 @@ function RestoreCollection(collectionIndex, removeCollection)
{
url: i,
active: false
}/* , function (tab)
} , function (createdTab)
{
if (localStorage.getItem("loadOnRestore") == "false" ? true : false)
{
setTimeout(function()
{
chrome.tabs.get(tab.id, function(tab1)
{
console.log(tab.url);
chrome.tabs.discard(tab1.id);
chrome.storage.sync.get({ "loadOnRestore" : false }, values => {
if (!values.loadOnRestore)
chrome.tabs.onUpdated.addListener(function discarder(updatedTabId, changeInfo, updatedTab) {
if (updatedTabId === createdTab.id) {
chrome.tabs.onUpdated.removeListener(discarder);
if (!updatedTab.active) {
chrome.tabs.discard(updatedTabId);
}
}
});
}, 1000);
}
} */);
});
});
});
if (!removeCollection)
@@ -349,4 +325,4 @@ function AppendThumbnail(tabId, cahngeInfo, tab)
);
}
chrome.tabs.onUpdated.addListener(AppendThumbnail);
chrome.tabs.onUpdated.addListener(AppendThumbnail);