07df1e0117
* 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
264 lines
10 KiB
JSON
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"
|
|
]
|
|
}
|
|
]
|
|
}
|