tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

normandyAddonStudy.json (3831B)


      1 [
      2  {
      3    "namespace": "manifest",
      4    "types": [
      5      {
      6        "$extend": "PermissionPrivileged",
      7        "choices": [
      8          {
      9            "type": "string",
     10            "enum": ["normandyAddonStudy"]
     11          }
     12        ]
     13      }
     14    ]
     15  },
     16  {
     17    "namespace": "normandyAddonStudy",
     18    "description": "Normandy Study API",
     19    "allowedContexts": ["content", "devtools"],
     20    "defaultContexts": ["content", "devtools"],
     21    "permissions": ["normandyAddonStudy"],
     22    "types": [
     23      {
     24        "id": "Study",
     25        "type": "object",
     26        "properties": {
     27          "recipeId": {
     28            "type": "integer",
     29            "description": "The ID of the recipe for the study."
     30          },
     31          "slug": {
     32            "type": "string",
     33            "description": "A slug to identify the study."
     34          },
     35          "userFacingName": {
     36            "type": "string",
     37            "description": "The name presented on about:studies."
     38          },
     39          "userFacingDescription": {
     40            "type": "string",
     41            "description": "The description presented on about:studies."
     42          },
     43          "branch": {
     44            "type": "string",
     45            "description": "The study branch in which the user is enrolled."
     46          },
     47          "active": {
     48            "type": "boolean",
     49            "description": "The state of the study."
     50          },
     51          "addonId": {
     52            "type": "string",
     53            "description": "The ID of the extension installed by the study."
     54          },
     55          "addonUrl": {
     56            "type": "string",
     57            "description": "The URL of the XPI that was downloaded and installed by the study."
     58          },
     59          "addonVersion": {
     60            "type": "string",
     61            "description": "The version of the extension installed by the study."
     62          },
     63          "studyStartDate": {
     64            "$ref": "extensionTypes.Date",
     65            "description": "The start date for the study."
     66          },
     67          "studyEndDate": {
     68            "$ref": "extensionTypes.Date",
     69            "description": "The end date for the study."
     70          },
     71          "extensionApiId": {
     72            "type": "integer",
     73            "description": "The record ID for the extension in Normandy server's database."
     74          },
     75          "extensionHash": {
     76            "type": "string",
     77            "description": "A hash of the extension XPI file."
     78          },
     79          "extensionHashAlgorithm": {
     80            "type": "string",
     81            "description": "The algorithm used to hash the extension XPI file."
     82          }
     83        }
     84      }
     85    ],
     86    "functions": [
     87      {
     88        "name": "getStudy",
     89        "type": "function",
     90        "description": "Returns a study object for the current study.",
     91        "async": true,
     92        "parameters": []
     93      },
     94      {
     95        "name": "endStudy",
     96        "type": "function",
     97        "description": "Marks the study as ended and then uninstalls the addon.",
     98        "async": true,
     99        "parameters": [
    100          {
    101            "type": "string",
    102            "name": "reason",
    103            "description": "The reason why the study is ending."
    104          }
    105        ]
    106      },
    107      {
    108        "name": "getClientMetadata",
    109        "type": "function",
    110        "description": "Returns an object with metadata about the client which may be required for constructing survey URLs.",
    111        "async": true,
    112        "parameters": []
    113      }
    114    ],
    115    "events": [
    116      {
    117        "name": "onUnenroll",
    118        "type": "function",
    119        "description": "Fired when a user unenrolls from a study but before the addon is uninstalled.",
    120        "parameters": [
    121          {
    122            "type": "string",
    123            "name": "reason",
    124            "description": "The reason why the study is ending."
    125          }
    126        ]
    127      }
    128    ]
    129  }
    130 ]