80 lines
2.3 KiB
JSON
80 lines
2.3 KiB
JSON
[
|
|
{
|
|
"namespace": "manifest",
|
|
"types": [
|
|
{
|
|
"$extend": "PermissionNoPrompt",
|
|
"choices": [
|
|
{
|
|
"type": "string",
|
|
"enum": ["captivePortal"]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"namespace": "captivePortal",
|
|
"description": "This API provides the ability detect the captive portal state of the users connection.",
|
|
"permissions": ["captivePortal"],
|
|
"properties": {
|
|
"canonicalURL": {
|
|
"$ref": "types.Setting",
|
|
"description": "Return the canonical captive-portal detection URL. Read-only."
|
|
}
|
|
},
|
|
"functions": [
|
|
{
|
|
"name": "getState",
|
|
"type": "function",
|
|
"description": "Returns the current portal state, one of `unknown`, `not_captive`, `unlocked_portal`, `locked_portal`.",
|
|
"async": true,
|
|
"parameters": []
|
|
},
|
|
{
|
|
"name": "getLastChecked",
|
|
"type": "function",
|
|
"description": "Returns the time difference between NOW and the last time a request was completed in milliseconds.",
|
|
"async": true,
|
|
"parameters": []
|
|
}
|
|
],
|
|
"events": [
|
|
{
|
|
"name": "onStateChanged",
|
|
"type": "function",
|
|
"description": "Fired when the captive portal state changes.",
|
|
"parameters": [
|
|
{
|
|
"type": "object",
|
|
"name": "details",
|
|
"properties": {
|
|
"state": {
|
|
"type": "string",
|
|
"enum": [
|
|
"unknown",
|
|
"not_captive",
|
|
"unlocked_portal",
|
|
"locked_portal"
|
|
],
|
|
"description": "The current captive portal state."
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "onConnectivityAvailable",
|
|
"type": "function",
|
|
"description": "This notification will be emitted when the captive portal service has determined that we can connect to the internet. The service will pass either `captive` if there is an unlocked captive portal present, or `clear` if no captive portal was detected.",
|
|
"parameters": [
|
|
{
|
|
"name": "status",
|
|
"enum": ["captive", "clear"],
|
|
"type": "string"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|