yomichan/dev/data/manifest-variants.json
toasted-nutbread 07df1e0117
Fix dictionary image support (#1526)
* Fix content security policy for images

* Add createBlobFromBase64Content to MediaUtil

* Update MediaLoader to use MediaUtil

* Use blob URLs when importing dictionaries

* Update VM's URL to support createObjectURL and revokeObjectURL

* Fix test
2021-03-14 18:41:15 -04:00

264 lines
10 KiB
JSON

{
"manifest": {
"manifest_version": 2,
"name": "Yomichan",
"version": "21.2.28.0",
"description": "Japanese dictionary with Anki integration",
"author": "Alex Yatskov",
"icons": {
"16": "images/icon16.png",
"19": "images/icon19.png",
"32": "images/icon32.png",
"38": "images/icon38.png",
"48": "images/icon48.png",
"64": "images/icon64.png",
"128": "images/icon128.png"
},
"browser_action": {
"default_icon": {
"16": "images/icon16.png",
"19": "images/icon19.png",
"32": "images/icon32.png",
"38": "images/icon38.png",
"48": "images/icon48.png",
"64": "images/icon64.png",
"128": "images/icon128.png"
},
"default_title": "Yomichan",
"default_popup": "action-popup.html"
},
"background": {
"page": "background.html",
"persistent": true
},
"content_scripts": [
{
"matches": [
"http://*/*",
"https://*/*",
"file://*/*"
],
"js": [
"js/core.js",
"js/yomichan.js",
"js/app/frontend.js",
"js/app/popup.js",
"js/app/popup-factory.js",
"js/app/popup-proxy.js",
"js/app/popup-window.js",
"js/comm/api.js",
"js/comm/cross-frame-api.js",
"js/comm/frame-ancestry-handler.js",
"js/comm/frame-client.js",
"js/comm/frame-offset-forwarder.js",
"js/dom/dom-text-scanner.js",
"js/dom/document-util.js",
"js/dom/text-source-element.js",
"js/dom/text-source-range.js",
"js/input/hotkey-handler.js",
"js/language/text-scanner.js",
"js/script/dynamic-loader.js",
"js/app/content-script-main.js"
],
"match_about_blank": true,
"all_frames": true
}
],
"minimum_chrome_version": "57.0.0.0",
"options_ui": {
"page": "settings.html",
"open_in_tab": true
},
"sandbox": {
"pages": [
"template-renderer.html"
],
"content_security_policy": "sandbox allow-scripts; default-src 'self'; script-src 'self' 'unsafe-eval'"
},
"permissions": [
"<all_urls>",
"storage",
"clipboardWrite",
"unlimitedStorage",
"webRequest",
"webRequestBlocking"
],
"optional_permissions": [
"clipboardRead",
"nativeMessaging"
],
"commands": {
"toggleTextScanning": {
"suggested_key": {
"default": "Alt+Delete"
},
"description": "Toggle text scanning on/off"
},
"openInfoPage": {
"description": "Open the info page"
},
"openSettingsPage": {
"description": "Open the settings page"
},
"openSearchPage": {
"suggested_key": {
"default": "Alt+Insert"
},
"description": "Open the search page"
},
"openPopupWindow": {
"description": "Open the popup window"
}
},
"web_accessible_resources": [
"popup.html",
"template-renderer.html"
],
"content_security_policy": "default-src 'self'; img-src blob: 'self'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *"
},
"variants": [
{
"name": "chrome",
"fileName": "yomichan-chrome.zip",
"excludeFiles": [
"sw.js",
"js/dom/simple-dom-parser.js",
"lib/parse5.js"
]
},
{
"name": "chrome-dev",
"fileName": "yomichan-chrome-dev.zip",
"modifications": [
{
"action": "replace",
"path": ["name"],
"pattern": "^.*$",
"patternFlags": "",
"replacement": "$& (development build)"
},
{
"action": "replace",
"path": ["description"],
"pattern": "^(.*)(?:\\.\\s*)?$",
"patternFlags": "",
"replacement": "$1. This is a development build; get the stable version here: https://tinyurl.com/yaatdjmp"
}
],
"excludeFiles": [
"sw.js",
"js/dom/simple-dom-parser.js",
"lib/parse5.js"
]
},
{
"name": "chrome-mv3",
"fileName": "yomichan-chrome-mv3.zip",
"modifications": [
{"action": "set", "path": ["manifest_version"], "value": 3},
{"action": "move", "path": ["browser_action"], "newPath": ["action"]},
{"action": "delete", "path": ["background", "page"]},
{"action": "delete", "path": ["background", "persistent"]},
{"action": "set", "path": ["background", "service_worker"], "value": "sw.js"},
{"action": "move", "path": ["content_security_policy"], "newPath": ["content_security_policy_old"]},
{"action": "set", "path": ["content_security_policy"], "value": {}},
{"action": "move", "path": ["content_security_policy_old"], "newPath": ["content_security_policy", "extension_pages"]},
{"action": "move", "path": ["sandbox", "content_security_policy"], "newPath": ["content_security_policy", "sandbox"]},
{"action": "remove", "path": ["permissions"], "item": "<all_urls>"},
{"action": "remove", "path": ["permissions"], "item": "webRequest"},
{"action": "remove", "path": ["permissions"], "item": "webRequestBlocking"},
{"action": "add", "path": ["permissions"], "items": ["declarativeNetRequest", "scripting"]},
{"action": "set", "path": ["host_permissions"], "value": ["<all_urls>"], "after": "optional_permissions"},
{"action": "move", "path": ["web_accessible_resources"], "newPath": ["web_accessible_resources_old"]},
{"action": "set", "path": ["web_accessible_resources"], "value": [{"resources": [], "matches": ["<all_urls>"]}], "after": "web_accessible_resources_old"},
{"action": "move", "path": ["web_accessible_resources_old"], "newPath": ["web_accessible_resources", 0, "resources"]}
],
"excludeFiles": [
"background.html",
"js/dom/native-simple-dom-parser.js"
]
},
{
"name": "firefox",
"fileName": "yomichan-firefox.xpi",
"modifications": [
{
"action": "remove",
"path": ["web_accessible_resources"],
"item": "template-renderer.html"
},
{
"action": "delete",
"path": ["sandbox"]
},
{
"action": "set",
"path": ["content_security_policy"],
"value": "default-src 'self'; script-src 'self' 'unsafe-eval'; img-src blob: 'self'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *"
},
{
"action": "set",
"path": ["browser_specific_settings"],
"value": {
"gecko": {
"id": "alex@foosoft.net",
"strict_min_version": "57.0"
}
}
},
{
"action": "remove",
"path": ["optional_permissions"],
"item": "nativeMessaging"
},
{
"action": "add",
"path": ["permissions"],
"items": ["nativeMessaging"]
}
],
"excludeFiles": [
"sw.js",
"js/dom/simple-dom-parser.js",
"lib/parse5.js"
]
},
{
"name": "firefox-dev",
"inherit": "firefox",
"fileName": "yomichan-firefox-dev.xpi",
"modifications": [
{
"action": "replace",
"path": ["name"],
"pattern": "^.*$",
"patternFlags": "",
"replacement": "$& (development build)"
},
{
"action": "replace",
"path": ["description"],
"pattern": "^(.*)(?:\\.\\s*)?$",
"patternFlags": "",
"replacement": "$1. This is a development build; get the stable version here: https://tinyurl.com/yaatdjmp"
},
{
"action": "set",
"path": ["browser_specific_settings", "gecko", "id"],
"value": "alex.testing@foosoft.net"
},
{
"action": "set",
"path": ["browser_specific_settings", "gecko", "update_url"],
"value": "https://foosoft.net/projects/yomichan/dl/updates.json"
}
],
"excludeFiles": [
"sw.js",
"js/dom/simple-dom-parser.js",
"lib/parse5.js"
]
}
]
}