// Note: although this file is specific to the MV2-only userScripts API, the // file also specifies "userScripts" in the permissions key of the userScripts // namespace because user_scripts.json also specifies the "permissions" key, // and if specified, both keys must have the same value. [ { "namespace": "userScripts", "permissions": ["manifest:user_scripts", "userScripts"], "allowedContexts": ["content"], "events": [ { "name": "onBeforeScript", "max_manifest_version": 2, "permissions": ["manifest:user_scripts.api_script"], "allowedContexts": ["content", "content_only"], "type": "function", "description": "Event called when a new userScript global has been created", "parameters": [ { "type": "object", "name": "userScript", "properties": { "metadata": { "type": "any", "description": "The userScript metadata (as set in userScripts.register)" }, "global": { "type": "any", "description": "The userScript global" }, "defineGlobals": { "type": "function", "description": "Exports all the properties of a given plain object as userScript globals", "parameters": [ { "type": "object", "name": "sourceObject", "description": "A plain object whose properties are exported as userScript globals" } ] }, "export": { "type": "function", "description": "Convert a given value to make it accessible to the userScript code", "parameters": [ { "type": "any", "name": "value", "description": "A value to convert into an object accessible to the userScript" } ], "returns": { "type": "any" } } } } ] } ] } ]