diff --git a/src/bg.js b/src/bg.js index a49f9a6..6cc9bc9 100644 --- a/src/bg.js +++ b/src/bg.js @@ -51,6 +51,8 @@ var registerToTST = async function() { // The name of your addon (string, optional) name: MY_EXTENSION_NAME }); + + updateAllColorsOnAllTabs(); } catch (e) { // TST is not available } @@ -78,6 +80,25 @@ var getTabParent = (tabs, id, currentTopLevelTabPos) => { } }; +var updateAllColorsOnAllTabs = async () => { + let allWindows = await browser.windows.getAll(); + allWindows.forEach(async w => { + var tstTabs = await browser.runtime.sendMessage(kTST_ID, { + type: 'get-tree', + window: w.id + }); + + for (let i = 0; i < tstTabs.length; i++) { + if (tstTabs[i].status === 'complete') { + browser.tabs.executeScript(tstTabs[i].id, { + code: '(' + changeIcon.toString() + ')("' + generateRandomColor(getTabParent(tstTabs, tstTabs[i].id)) + '")' + }); + } + } + }); + +} + //events //register to tst browser.runtime.onMessageExternal.addListener((aMessage, aSender) => { @@ -98,12 +119,9 @@ browser.tabs.onUpdated.addListener(async (tabId, changeInfo, tab) => { }); if (tab.status === 'complete') { - console.log(changeIcon.toString() + '(' + generateRandomColor(getTabParent(tstTab, tab.id)) + ')'); - browser.tabs.executeScript(tab.id, { code: '(' + changeIcon.toString() + ')("' + generateRandomColor(getTabParent(tstTab, tab.id)) + '")' }); - changeIcon(generateRandomColor(getTabParent(tstTab, tab.id))); } });