Compare commits

...

4 Commits

Author SHA1 Message Date
Ajay
6cd697dc32 bump version 2023-08-25 16:03:33 -04:00
Ajay
9946bd1af2 Use chromep in another spot 2023-08-25 16:03:17 -04:00
Ajay
3b06d72270 Fix invidious support of Firefox 2023-08-25 16:01:11 -04:00
Ajay
4bd0556464 Remove webnavigation optional permission from firefox 2023-08-23 22:44:41 -04:00
4 changed files with 15 additions and 17 deletions

View File

@@ -1,6 +1,7 @@
{ {
"optional_permissions": [ "optional_permissions": [
"declarativeContent" "declarativeContent",
"webNavigation"
], ],
"background": { "background": {
"persistent": false "persistent": false

View File

@@ -1,7 +1,7 @@
{ {
"name": "__MSG_fullName__", "name": "__MSG_fullName__",
"short_name": "SponsorBlock", "short_name": "SponsorBlock",
"version": "5.4.16", "version": "5.4.17",
"default_locale": "en", "default_locale": "en",
"description": "__MSG_Description__", "description": "__MSG_Description__",
"homepage_url": "https://sponsor.ajay.app", "homepage_url": "https://sponsor.ajay.app",
@@ -84,8 +84,7 @@
"https://sponsor.ajay.app/*" "https://sponsor.ajay.app/*"
], ],
"optional_permissions": [ "optional_permissions": [
"*://*/*", "*://*/*"
"webNavigation"
], ],
"browser_action": { "browser_action": {
"default_title": "SponsorBlock", "default_title": "SponsorBlock",

View File

@@ -4,5 +4,8 @@
}, },
"permissions": [ "permissions": [
"scripting" "scripting"
],
"optional_permissions": [
"webNavigation"
] ]
} }

View File

@@ -155,16 +155,7 @@ chrome.runtime.onInstalled.addListener(function () {
*/ */
async function registerFirefoxContentScript(options: Registration) { async function registerFirefoxContentScript(options: Registration) {
if ("scripting" in chrome && "getRegisteredContentScripts" in chrome.scripting) { if ("scripting" in chrome && "getRegisteredContentScripts" in chrome.scripting) {
// Bug in Firefox where you need to use browser namespace for this call const existingRegistrations = await chromeP.scripting.getRegisteredContentScripts({
const getContentScripts = async (filter: browser.scripting.ContentScriptFilter) => {
if (isFirefoxOrSafari()) {
return await browser.scripting.getRegisteredContentScripts(filter);
} else {
return await chrome.scripting.getRegisteredContentScripts(filter);
}
};
const existingRegistrations = await getContentScripts({
ids: [options.id] ids: [options.id]
}); });
@@ -204,9 +195,13 @@ async function registerFirefoxContentScript(options: Registration) {
*/ */
async function unregisterFirefoxContentScript(id: string) { async function unregisterFirefoxContentScript(id: string) {
if ("scripting" in chrome && "getRegisteredContentScripts" in chrome.scripting) { if ("scripting" in chrome && "getRegisteredContentScripts" in chrome.scripting) {
await chromeP.scripting.unregisterContentScripts({ try {
ids: [id] await chromeP.scripting.unregisterContentScripts({
}); ids: [id]
});
} catch (e) {
// Already registered
}
} else { } else {
if (contentScriptRegistrations[id]) { if (contentScriptRegistrations[id]) {
contentScriptRegistrations[id].unregister(); contentScriptRegistrations[id].unregister();