{
    "manifest_version": 3,
    "name": "Yomitan",
    "version": "23.4.7.0",
    "description": "Japanese dictionary with Anki integration",
    "author": "TheMoeWay",
    "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"
    },
    "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": "Yomitan",
        "default_popup": "action-popup.html"
    },
    "background": {
        "service_worker": "sw.js"
    },
    "content_scripts": [
        {
            "run_at": "document_idle",
            "matches": [
                "http://*/*",
                "https://*/*",
                "file://*/*"
            ],
            "match_about_blank": true,
            "all_frames": true,
            "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/app/theme-controller.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/data/sandbox/string-util.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"
            ]
        }
    ],
    "minimum_chrome_version": "96.0.0.0",
    "options_ui": {
        "page": "settings.html",
        "open_in_tab": true
    },
    "sandbox": {
        "pages": [
            "template-renderer.html"
        ]
    },
    "permissions": [
        "storage",
        "clipboardWrite",
        "unlimitedStorage",
        "webRequest",
        "declarativeNetRequest",
        "scripting"
    ],
    "optional_permissions": [
        "clipboardRead",
        "nativeMessaging"
    ],
    "host_permissions": [
        "<all_urls>"
    ],
    "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": [
        {
            "resources": [
                "popup.html",
                "template-renderer.html"
            ],
            "matches": [
                "<all_urls>"
            ]
        }
    ],
    "content_security_policy": {
        "extension_pages": "default-src 'self'; img-src blob: 'self'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *",
        "sandbox": "sandbox allow-scripts; default-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'unsafe-inline'"
    }
}