From 2873353a9d339a89d0fab32dda30999f95ee9b54 Mon Sep 17 00:00:00 2001 From: nobody Date: Thu, 29 Dec 2022 07:12:08 +0100 Subject: [PATCH] mv3 init (#1274) --- core/main.js | 10 ++++++ core/messenger.js | 2 +- core/state-manager.js | 6 ++-- manifest.json | 54 +++++++++++++++++++++++--------- pages/info/host_permissions.png | Bin 0 -> 19460 bytes pages/info/info.css | 3 ++ pages/info/info.html | 25 +++++++++++++++ pages/info/info.js | 47 +++++++++++++++++++++++++++ 8 files changed, 128 insertions(+), 19 deletions(-) create mode 100644 pages/info/host_permissions.png create mode 100644 pages/info/info.css create mode 100644 pages/info/info.html create mode 100644 pages/info/info.js diff --git a/core/main.js b/core/main.js index 0b83382c..874f47ba 100644 --- a/core/main.js +++ b/core/main.js @@ -150,9 +150,19 @@ main._showReleaseNotes = function (details) { } }; +main._permissionStatusListener = function (e) { + if (e.permissions.includes('')) { + chrome.tabs.create({ + 'url': chrome.runtime.getURL('pages/info/info.html'), + 'active': true + }); + } +}; + /** * Initializations */ chrome.runtime.onInstalled.addListener(main._showReleaseNotes); +browser.permissions.onRemoved.addListener(main._permissionStatusListener); main._initializeSettings(); diff --git a/core/messenger.js b/core/messenger.js index 969bf217..1e6487c0 100644 --- a/core/messenger.js +++ b/core/messenger.js @@ -45,7 +45,7 @@ messenger._handleMessageReceived = function (message, sender, sendResponse) { return MessageResponse.SYNCHRONOUS; case 'tab:inject': - chrome.tabs.executeScript(value, { + chrome.scripting.executeScript(value, { 'code': `window.addEventListener('load', () => { document.getElementById('domain').value = '${message.url}'; });`, diff --git a/core/state-manager.js b/core/state-manager.js index e52f4f22..1f376e10 100644 --- a/core/state-manager.js +++ b/core/state-manager.js @@ -46,7 +46,7 @@ stateManager.registerInjection = function (tabIdentifier, injection, url) { missingCount = registeredTab.missing || 0; if (injectionCount > 0) { - chrome.browserAction.setTitle({ + chrome.action.setTitle({ 'tabId': tabIdentifier, 'title': `LocalCDN (${injectionCount})` }); @@ -185,14 +185,14 @@ stateManager._updateTab = function (details) { return; } - chrome.browserAction.setTitle({ + chrome.action.setTitle({ 'tabId': tabIdentifier, 'title': 'LocalCDN (0)' }); if (domainIsAllowlisted) { stateManager._setIconDisabled(tabIdentifier); - chrome.browserAction.setTitle({ + chrome.action.setTitle({ 'tabId': tabIdentifier, 'title': 'LocalCDN (–)' }); diff --git a/manifest.json b/manifest.json index 0b363431..76e3ecb0 100644 --- a/manifest.json +++ b/manifest.json @@ -1,11 +1,11 @@ { - "manifest_version": 2, - "name": "LocalCDN", - "version": "2.6.44", + "manifest_version": 3, + "name": "LocalCDN Beta", + "version": "3.0.0", "browser_specific_settings": { "gecko": { "id": "{b86e4813-687a-43e6-ab65-0bde4ab75758}", - "strict_min_version": "86.0" + "strict_min_version": "101.0" } }, "author": "nobody", @@ -21,19 +21,19 @@ }, "permissions": [ - "*://*/*", "privacy", "storage", "webNavigation", "webRequest", - "webRequestBlocking" + "webRequestBlocking", + "scripting" ], - "background": { - "page": "pages/background/background.html" - }, + "host_permissions": [ + "" + ], - "browser_action": { + "action": { "default_icon": { "16": "icons/action/default/icon16-default.png", "18": "icons/action/default/icon18-default.png", @@ -47,16 +47,40 @@ "browser_style": false }, + "background": { + "scripts": [ + "core/constants.js", + "core/storage-manager.js", + + "modules/internal/wrappers.js", + "modules/internal/targets.js", + "modules/internal/helpers.js", + "modules/internal/stats.js", + "modules/internal/log.js", + + "core/resources.js", + "core/mappings.js", + "core/shorthands.js", + "core/request-sanitizer.js", + "core/state-manager.js", + "core/request-analyzer.js", + "core/file-guard.js", + "core/messenger.js", + "core/interceptor.js", + "core/manipulate-dom.js", + "core/main.js" + ] + }, + "options_ui": { "page": "pages/options/options.html", "open_in_tab": true }, - "web_accessible_resources": [ - "resources/*" - ], - - "content_security_policy": "default-src 'self'; img-src 'self' data:", + "web_accessible_resources": [{ + "resources": ["resources/*"], + "matches": [""] + }], "commands": { "_execute_browser_action": {} } diff --git a/pages/info/host_permissions.png b/pages/info/host_permissions.png new file mode 100644 index 0000000000000000000000000000000000000000..15e572db48e31bf20c8d4e76d3b14fd784633e04 GIT binary patch literal 19460 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 literal 0 HcmV?d00001 diff --git a/pages/info/info.css b/pages/info/info.css new file mode 100644 index 00000000..5c701e22 --- /dev/null +++ b/pages/info/info.css @@ -0,0 +1,3 @@ +img { + width: 100% +} diff --git a/pages/info/info.html b/pages/info/info.html new file mode 100644 index 00000000..f1b6cc8e --- /dev/null +++ b/pages/info/info.html @@ -0,0 +1,25 @@ + + + + Information | LocalCDN + + + + + + + + + + +

Permission revoked

+
+

Access your data for all websites

+

Please do not disable the permission. LocalCDN needs the permission to detect and redirect requests to CDNs.

+ +
+ + + diff --git a/pages/info/info.js b/pages/info/info.js new file mode 100644 index 00000000..f6061f90 --- /dev/null +++ b/pages/info/info.js @@ -0,0 +1,47 @@ +/** + * Info Page + * Belongs to LocalCDN (since 2020-02-26) + * + * @author nobody + * @since 2022-12-28 + * + * @license MPL 2.0 + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +'use strict'; + + +/** + * Help + */ + +var info = {}; + + +/** + * Private Methods + */ + +info._onDocumentLoaded = function () { + let language = navigator.language; + + info._languageSupported = helpers.languageIsFullySupported(language); + info._scriptDirection = helpers.determineScriptDirection(language); + + if (!helpers.insertI18nContentIntoDocument(document)) { + document.getElementById('notice-locale').style.display = 'block'; + } + + chrome.permissions.request({'origins': ['']}); +}; + + +/** + * Initializations + */ + +document.addEventListener('DOMContentLoaded', info._onDocumentLoaded);