From 8169bfc17ddaa1a797b7b746adfa7525a316e8f0 Mon Sep 17 00:00:00 2001 From: NeverDecaf Date: Wed, 13 Sep 2023 05:13:28 -0400 Subject: [PATCH] Modify install button on new webstore preview --- Chromium Web Store.crx | Bin 58150 -> 58397 bytes src/manifest.json | 3 +- src/scripts/background.js | 19 ++++----- src/scripts/inject.js | 82 +++++++++++++++++++++++++++++++++----- src/scripts/util.js | 38 ++++++++++-------- 5 files changed, 104 insertions(+), 38 deletions(-) diff --git a/Chromium Web Store.crx b/Chromium Web Store.crx index 22a04624deec042d3f32fd42da01943b9b9acc2d..6c7311c5c683f7c93368a6d86f5d6021666370e9 100644 GIT binary patch delta 9920 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 delta 9727 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 EKZPu)dH?_b diff --git a/src/manifest.json b/src/manifest.json index 01352a4..ff7f171 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -4,7 +4,7 @@ "name": "__MSG_extension_Name__", "description": "__MSG_extension_Description__", "default_locale": "en", - "version": "1.5.3.1", + "version": "1.5.4", "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqF/d41Q7agjkUzYq8ZGbQr8XW8mmEIMXOnR1uCTnYLL+Dm9Z+LO50xZukOISNy6zFxpI8ts/OGLsm+I2x9+UprUU4/EVdmxuwegFE6NBoEhHoRNYY0gbXZkaU8YY/XwzjVY/k18DDhl5NYPEnF6uq4Oyidg+xtd3W4+iGYczuOLER1Tp5y614zOTphcvFYhvUkCijQ6HT1TtRq/34SlFoRQqo4SFiLriK451xWIcfwiMLIekWrdoQa1v8dqIlMA3r6CKc0QykJpSYbiyormWiZ0hl2HLpkZ85mD9V0eDQ5RCtb6vkybK7INcq4yKQV4YkXhr9NpX9U4re4dlFQjEJQIDAQAB", "permissions": [ "management", @@ -27,6 +27,7 @@ { "matches": [ "https://chrome.google.com/webstore*", + "https://chromewebstore.google.com/*", "https://addons.opera.com/*extensions/details/*", "https://microsoftedge.microsoft.com/addons/*" ], diff --git a/src/scripts/background.js b/src/scripts/background.js index 80f7986..c3822ec 100644 --- a/src/scripts/background.js +++ b/src/scripts/background.js @@ -10,7 +10,7 @@ function handleContextClick(info, tab) { installed_versions, appid, updatever, - is_webstore + is_webstore, ) { let crx_url = updateCheck["@codebase"]; promptInstall(crx_url, is_webstore, WEBSTORE.chrome, msgHandler); @@ -53,12 +53,12 @@ function startupTasks() { (Date.now() - localstore.last_scheduled_update) / 1000 / - 60 - ) + 60, + ), ), periodInMinutes: settings.update_period_in_minutes, }); - } + }, ); }); } @@ -76,7 +76,7 @@ chrome.management.onInstalled.addListener(function (ext) { }, () => { if (chrome.runtime.lastError) tabsAwaitingInstall.delete(tabid); - } + }, ); } }); @@ -101,7 +101,7 @@ chrome.alarms.onAlarm.addListener(function (alarm) { periodInMinutes: settings.update_period_in_minutes, }); } - } + }, ); }); chrome.runtime.onInstalled.addListener(function () { @@ -121,6 +121,7 @@ chrome.runtime.onInstalled.addListener(function () { id: "installExt", documentUrlPatterns: [ "https://chrome.google.com/webstore/detail/*", + "https://chromewebstore.google.com/detail/*", "https://addons.opera.com/*/extensions/details/*", "https://microsoftedge.microsoft.com/addons/detail/*", ], @@ -134,7 +135,7 @@ const msgHandler = function (request, sender, sendResponse) { }, (dlid) => { nonWebstoreExtensionsDownloading.add(dlid); - } + }, ); } if (request.manualInstallDownloadUrl) { @@ -145,7 +146,7 @@ const msgHandler = function (request, sender, sendResponse) { }, (dlid) => { manualInstallExtensionsDownloading.add(dlid); - } + }, ); } if (request.newTabUrl) { @@ -189,7 +190,7 @@ chrome.downloads.onChanged.addListener((d) => { }, (tab) => { extensionsTabId.id = tab.id; - } + }, ); }); // chrome.notifications.create("manually_install", { diff --git a/src/scripts/inject.js b/src/scripts/inject.js index 62fa816..f55c38e 100644 --- a/src/scripts/inject.js +++ b/src/scripts/inject.js @@ -5,7 +5,7 @@ function createButton(newParent, addBtn = true) { button_div.setAttribute("role", "button"); button_div.setAttribute( "class", - "dd-Va g-c-wb g-eg-ua-Uc-c-za g-c-Oc-td-jb-oa g-c" + "dd-Va g-c-wb g-eg-ua-Uc-c-za g-c-Oc-td-jb-oa g-c", ); button_div.setAttribute("tabindex", "0"); @@ -27,7 +27,7 @@ function createButton(newParent, addBtn = true) { "aria-label", isInstall ? chrome.i18n.getMessage("webstore_addButton") - : chrome.i18n.getMessage("webstore_removeButton") + : chrome.i18n.getMessage("webstore_removeButton"), ); r.innerHTML = isInstall ? chrome.i18n.getMessage("webstore_addButton") @@ -52,7 +52,7 @@ function createButton(newParent, addBtn = true) { if (resp.uninstalled) { button_div.toggleState(true); } - } + }, ); } }); @@ -66,6 +66,40 @@ function createButton(newParent, addBtn = true) { newParent.appendChild(button_div); dlBtn = button_div; } +function modifyNewCWSButton(button_div, addBtn = true) { + button_div.removeAttribute("disabled"); + const label = button_div.querySelector("span.UywwFc-vQzf8d"); + button_div.toggleState = function (isInstall) { + isInstall + ? button_div.setAttribute("isInstallBtn", "true") + : button_div.setAttribute("isInstallBtn", "false"); + label.innerHTML = isInstall + ? chrome.i18n.getMessage("webstore_addButton") + : chrome.i18n.getMessage("webstore_removeButton"); + }; + button_div.toggleState(addBtn); + let dlurl = buildExtensionUrl(window.location.href); + button_div.id = getExtensionId(window.location.href); + button_div.addEventListener("click", function () { + if (button_div.getAttribute("isInstallBtn") == "true") { + chrome.runtime.sendMessage({ + installExt: getExtensionId(window.location.href), + }); + promptInstall(dlurl, true); + } else { + chrome.runtime.sendMessage( + { + uninstallExt: getExtensionId(window.location.href), + }, + (resp) => { + if (resp.uninstalled) { + button_div.toggleState(true); + } + }, + ); + } + }); +} var modifyButtonObserver = new MutationObserver(function (mutations, observer) { mutations.forEach(function (mutation) { if ( @@ -79,12 +113,12 @@ var modifyButtonObserver = new MutationObserver(function (mutations, observer) { chrome.runtime.sendMessage( { checkExtInstalledId: getExtensionId( - window.location.href + window.location.href, ), }, (resp) => { createButton(container_div, !resp.installed); - } + }, ); } } @@ -99,6 +133,27 @@ attachMainObserver = new MutationObserver(function (mutations, observer) { }); observer.disconnect(); }); +var modifyButtonObserverNew = new MutationObserver(function ( + mutations, + observer, +) { + mutations.forEach(function (mutation) { + const btn = mutation.target.querySelector( + "button.UywwFc-LgbsSe-OWXEXe-dgl2Hf", + ); + if (btn && !btn.hasAttribute("isInstallBtn")) { + btn.setAttribute("isInstallBtn", "true"); + chrome.runtime.sendMessage( + { + checkExtInstalledId: getExtensionId(window.location.href), + }, + (resp) => { + modifyNewCWSButton(btn, !resp.installed); + }, + ); + } + }); +}); if (is_ews.test(window.location.href)) { new MutationObserver(function (mutations, observer) { mutations.forEach(function (mutation) { @@ -110,18 +165,18 @@ if (is_ews.test(window.location.href)) { .split(" ") .sort( (a, b) => - parseInt(b.slice(1)) - parseInt(a.slice(1)) - )[btn.name == "GetButton" ? 1 : 0] + parseInt(b.slice(1)) - parseInt(a.slice(1)), + )[btn.name == "GetButton" ? 1 : 0], ); btn.removeAttribute("disabled"); btn.addEventListener("click", () => { promptInstall( buildExtensionUrl( window.location.href, - btn.id.split("-")[1] + btn.id.split("-")[1], ), true, - WEBSTORE.edge + WEBSTORE.edge, ); }); dlBtn = btn; @@ -137,6 +192,11 @@ if (is_cws.test(window.location.href)) { childList: true, }); } +if (is_ncws.test(window.location.href)) { + modifyButtonObserverNew.observe(document.body, { + childList: true, + }); +} if ( is_ows.test(window.location.href) && document.body.querySelector("#feedback-container") //built-ins don't have a feedback section @@ -155,8 +215,8 @@ if ( promptInstall( buildExtensionUrl(window.location.href), true, - WEBSTORE.opera - ) + WEBSTORE.opera, + ), ); } window.onload = () => { diff --git a/src/scripts/util.js b/src/scripts/util.js index b608bd8..23d8517 100644 --- a/src/scripts/util.js +++ b/src/scripts/util.js @@ -1,7 +1,7 @@ const chromeVersion = /Chrome\/([0-9.]+)/.exec(navigator.userAgent)[1]; const store_extensions = new Map(); const googleUpdateUrl = "https://clients2.google.com/service/update2/crx"; -const WEBSTORE = { chrome: 0, edge: 1, opera: 2 }; +const WEBSTORE = { chrome: 0, edge: 1, opera: 2, chromenew: 3 }; const DEFAULT_MANAGEMENT_OPTIONS = { auto_update: true, check_store_apps: true, @@ -35,9 +35,11 @@ store_extensions.set(/extension-updates\.opera\.com\/api\/omaha\/update/, { }); const is_cws = /chrome.google.com\/webstore/i; +const is_ncws = /chromewebstore.google.com\//i; const is_ows = /addons.opera.com\/.*extensions/i; const is_ews = /microsoftedge\.microsoft\.com\/addons\//i; const cws_re = /.*detail\/[^\/]*\/([a-z]{32})/i; +const ncws_re = /.*detail\/[^\/]*\/([a-z]{32})/i; const ows_re = /.*details\/([^\/?#]+)/i; const ews_re = /.*addons\/.+?\/([a-z]{32})/i; @@ -45,6 +47,7 @@ const WEBSTORE_MAP = new Map(); WEBSTORE_MAP.set(is_cws, WEBSTORE.chrome); WEBSTORE_MAP.set(is_ews, WEBSTORE.edge); WEBSTORE_MAP.set(is_ows, WEBSTORE.opera); +WEBSTORE_MAP.set(is_ncws, WEBSTORE.chromenew); function version_is_newer(current, available) { let current_subvs = current.split("."); @@ -61,6 +64,7 @@ function version_is_newer(current, available) { function getExtensionId(url) { return (cws_re.exec(url) || + ncws_re.exec(url) || ows_re.exec(url) || ews_re.exec(url) || [undefined, undefined])[1]; } @@ -68,7 +72,7 @@ function getExtensionId(url) { function buildExtensionUrl(href, extensionId = undefined) { extensionId = extensionId || getExtensionId(href); if (extensionId == undefined) return; - if (is_cws.test(href)) { + if (is_cws.test(href) || is_ncws.test(href)) { var chromeVersion = /Chrome\/([0-9.]+)/.exec(navigator.userAgent)[1]; return ( "https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&prodversion=" + @@ -96,7 +100,7 @@ function promptInstall( crx_url, is_webstore, browser = WEBSTORE.chrome, - custom_msg_handler = undefined + custom_msg_handler = undefined, ) { chrome.storage.sync.get(DEFAULT_MANAGEMENT_OPTIONS, function (settings) { var msgHandler = custom_msg_handler || chrome.runtime.sendMessage; @@ -142,7 +146,7 @@ function checkForUpdates( update_callback = null, failure_callback = null, completed_callback = null, - custom_ext_list = [] + custom_ext_list = [], ) { chrome.management.getAll(function (e) { e.push(...custom_ext_list); @@ -164,7 +168,7 @@ function checkForUpdates( let installed_versions = {}; let updateUrls = []; Array.from(store_extensions.values()).forEach( - (x) => delete x.updateUrl + (x) => delete x.updateUrl, ); e.forEach(function (ex) { if (ex.updateUrl && !settings[ex.id]) { @@ -199,7 +203,7 @@ function checkForUpdates( } function update_extension(ext_url, ext_id, ext_name) { let is_webstore = Array.from(store_extensions.keys()).some( - (x) => x.test(ext_url) + (x) => x.test(ext_url), ); return new Promise((resolve, reject) => { fetch(ext_url) @@ -233,7 +237,7 @@ function checkForUpdates( undefined && version_is_newer( installed_versions[appid].version, - updatever + updatever, ) ) { updateCount++; @@ -243,7 +247,7 @@ function checkForUpdates( installed_versions, appid, updatever, - is_webstore + is_webstore, ); if ( appid in @@ -270,7 +274,7 @@ function checkForUpdates( ) failure_callback( true, - installed_versions[appid] + installed_versions[appid], ); // } } @@ -292,11 +296,11 @@ function checkForUpdates( }, () => { resolve(); - } + }, ); - } + }, ); - } + }, ); }) .catch((e) => { @@ -304,13 +308,13 @@ function checkForUpdates( `Error updating extension [${ ext_id || ext_name }]:`, - e + e, ); if (failure_callback) { if (ext_id) failure_callback( false, - installed_versions[ext_id] + installed_versions[ext_id], ); else failure_callback(false, { @@ -329,7 +333,7 @@ function checkForUpdates( let promises = updateUrls .filter((x) => x.url) .map((uurl) => - update_extension(uurl.url, uurl.id, uurl.name) + update_extension(uurl.url, uurl.id, uurl.name), ); Promise.allSettled(promises).then((plist) => { if (plist.some((x) => x.status == "rejected")) { @@ -340,12 +344,12 @@ function checkForUpdates( chrome.action.setBadgeText({ text: "?", }); - } + }, ); } if (completed_callback) completed_callback(); }); - } + }, ); }); });