diff --git a/src/assets/javascripts/helpers/utils.js b/src/assets/javascripts/helpers/utils.js index 6d1956f6..8ca49438 100644 --- a/src/assets/javascripts/helpers/utils.js +++ b/src/assets/javascripts/helpers/utils.js @@ -338,7 +338,7 @@ function copyRaw(test, copyRawElement) { }) } -function unify(test, unifyElement) { +function unify(test) { return new Promise(resolve => { browser.tabs.query( { active: true, currentWindow: true }, @@ -369,12 +369,6 @@ function unify(test, unifyElement) { if (!result) result = await translateHelper.initLingvaLocalStorage(test, url); if (result) { - if (!test && unifyElement) { - const textElement = unifyElement.getElementsByTagName('h4')[0] - const oldHtml = textElement.innerHTML; - textElement.innerHTML = 'Unified'; - setTimeout(() => textElement.innerHTML = oldHtml, 1000); - } resolve(true); } else resolve() } diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index 5660f448..56dfa519 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -348,8 +348,7 @@ function initInvidiousCookies(test, from) { utils.copyCookie('invidious', from, to, 'PREFS'); } resolve(true); - } - ) + }) } function setInvidiousCookies() { @@ -368,7 +367,6 @@ function setInvidiousCookies() { function initPipedLocalStorage(test, url, tabId) { return new Promise(async resolve => { await init(); - console.log('initPipedLocalStorage'); if (disableYoutube || youtubeFrontend != 'piped') { resolve(); return; } const protocolHost = utils.protocolHost(url); if (![ @@ -380,7 +378,7 @@ function initPipedLocalStorage(test, url, tabId) { if (!test) { - browser.tabs.executeScript(tabId, { file: "/assets/javascripts/helpers/youtube/get_piped_preferences.js", runAt: "document_start" }); + browser.tabs.executeScript(tabId, { file: "/assets/javascripts/helpers/youtube/get_piped_preferences.js" }); let checkedInstances; if (youtubeProtocol == 'normal') checkedInstances = [...pipedNormalCustomRedirects, ...pipedNormalRedirectsChecks] @@ -390,7 +388,7 @@ function initPipedLocalStorage(test, url, tabId) { for (const to of checkedInstances) { browser.tabs.create( { url: checkedInstances[0] }, - tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/helpers/youtube/set_piped_preferences.js", runAt: "document_start" }) + tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/helpers/youtube/set_piped_preferences.js" }) ); } } @@ -411,7 +409,7 @@ function initPipedMaterialLocalStorage(test, url, tabId,) { ].includes(protocolHost)) { resolve(); return; } if (!test) { - browser.tabs.executeScript(tabId, { file: "/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js", runAt: "document_start" }); + browser.tabs.executeScript(tabId, { file: "/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js" }); let checkedInstances; if (youtubeProtocol == 'normal') checkedInstances = [...pipedMaterialNormalRedirectsChecks, ...pipedMaterialNormalCustomRedirects] @@ -421,7 +419,7 @@ function initPipedMaterialLocalStorage(test, url, tabId,) { for (const to of checkedInstances) browser.tabs.create( { url: to }, - tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js", runAt: "document_start" }) + tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js" }) ); } resolve(true); diff --git a/src/pages/background/background.js b/src/pages/background/background.js index aef21cd3..16083ebe 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -239,6 +239,7 @@ browser.contextMenus.onClicked.addListener( } ); -browser.runtime.onMessage.addListener(message => { - if (message.function === 'unify') utils.unify(); -}); +browser.runtime.onMessage.addListener((message, sender, sendResponse) => { + if (message.function === 'unify') utils.unify(false).then(r => sendResponse({ response: r })) + return true; +}); \ No newline at end of file diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js index 84dbab04..73890b07 100644 --- a/src/pages/popup/popup.js +++ b/src/pages/popup/popup.js @@ -90,11 +90,22 @@ utils.copyRaw(true).then(r => { } }) + utils.unify(true).then(r => { if (!r) document.getElementById('unify_div').style.display = 'none'; else { const unify = document.getElementById('unify'); - unify.addEventListener("click", () => browser.runtime.sendMessage({ function: 'unify' })); + unify.addEventListener("click", () => + browser.runtime.sendMessage({ function: 'unify' }, + response => { + if (response && response.response) { + const textElement = document.getElementById('unify').getElementsByTagName('h4')[0] + const oldHtml = textElement.innerHTML; + textElement.innerHTML = 'Unified'; + setTimeout(() => textElement.innerHTML = oldHtml, 1000); + } + }) + ); } }) @@ -113,7 +124,7 @@ browser.storage.local.get( for (const a of document.getElementsByTagName('a')) { a.addEventListener('click', e => { - if (!a.classList.includes('button')) { + if (!a.classList.contains('button')) { browser.tabs.create({ url: a.getAttribute('href') }); e.preventDefault(); }