Home | History | Annotate | Download | only in api
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 [
      6   {
      7     "namespace": "browsingData",
      8     "description": "Use the <code>chrome.browsingData</code> API to remove browsing data from a user's local profile.",
      9     "types": [
     10       {
     11         "id": "RemovalOptions",
     12         "type": "object",
     13         "description": "Options that determine exactly what data will be removed.",
     14         "properties": {
     15           "since": {
     16             "type": "number",
     17             "optional": true,
     18             "description": "Remove data accumulated on or after this date, represented in milliseconds since the epoch (accessible via the <code>getTime</code> method of the JavaScript <code>Date</code> object). If absent, defaults to 0 (which would remove all browsing data)."
     19           },
     20           "originTypes": {
     21             "type": "object",
     22             "optional": true,
     23             "description": "An object whose properties specify which origin types ought to be cleared. If this object isn't specified, it defaults to clearing only \"unprotected\" origins. Please ensure that you <em>really</em> want to remove application data before adding 'protectedWeb' or 'extensions'.",
     24             "properties": {
     25               "unprotectedWeb": {
     26                 "type": "boolean",
     27                 "optional": true,
     28                 "description": "Normal websites."
     29               },
     30               "protectedWeb": {
     31                 "type": "boolean",
     32                 "optional": true,
     33                 "description": "Websites that have been installed as hosted applications (be careful!)."
     34               },
     35               "extension": {
     36                 "type": "boolean",
     37                 "optional": true,
     38                 "description": "Extensions and packaged applications a user has installed (be _really_ careful!)."
     39               }
     40             }
     41           }
     42         }
     43       },
     44       {
     45         "id": "DataTypeSet",
     46         "type": "object",
     47         "description": "A set of data types. Missing data types are interpreted as <code>false</code>.",
     48         "properties": {
     49           "appcache": {
     50             "type": "boolean",
     51             "optional": true,
     52             "description": "Websites' appcaches."
     53           },
     54           "cache": {
     55             "type": "boolean",
     56             "optional": true,
     57             "description": "The browser's cache. Note: when removing data, this clears the <em>entire</em> cache: it is not limited to the range you specify."
     58           },
     59           "cookies": {
     60             "type": "boolean",
     61             "optional": true,
     62             "description": "The browser's cookies."
     63           },
     64           "downloads": {
     65             "type": "boolean",
     66             "optional": true,
     67             "description": "The browser's download list."
     68           },
     69           "fileSystems": {
     70             "type": "boolean",
     71             "optional": true,
     72             "description": "Websites' file systems."
     73           },
     74           "formData": {
     75             "type": "boolean",
     76             "optional": true,
     77             "description": "The browser's stored form data."
     78           },
     79           "history": {
     80             "type": "boolean",
     81             "optional": true,
     82             "description": "The browser's history."
     83           },
     84           "indexedDB": {
     85             "type": "boolean",
     86             "optional": true,
     87             "description": "Websites' IndexedDB data."
     88           },
     89           "localStorage": {
     90             "type": "boolean",
     91             "optional": true,
     92             "description": "Websites' local storage data."
     93           },
     94           "serverBoundCertificates": {
     95             "type": "boolean",
     96             "optional": true,
     97             "description": "Server-bound certificates."
     98           },
     99           "pluginData": {
    100             "type": "boolean",
    101             "optional": true,
    102             "description": "Plugins' data."
    103           },
    104           "passwords": {
    105             "type": "boolean",
    106             "optional": true,
    107             "description": "Stored passwords."
    108           },
    109           "webSQL": {
    110             "type": "boolean",
    111             "optional": true,
    112             "description": "Websites' WebSQL data."
    113           }
    114         }
    115       }
    116     ],
    117     "functions": [
    118       {
    119         "name": "settings",
    120         "description": "Reports which types of data are currently selected in the 'Clear browsing data' settings UI.  Note: some of the data types included in this API are not available in the settings UI, and some UI settings control more than one data type listed here.",
    121         "type": "function",
    122         "parameters": [
    123           {
    124             "name": "callback",
    125             "type": "function",
    126             "parameters": [
    127               {
    128                 "name": "result",
    129                 "type": "object",
    130                 "properties": {
    131                   "options": {
    132                     "$ref": "RemovalOptions"
    133                   },
    134                   "dataToRemove": {
    135                     "$ref": "DataTypeSet",
    136                     "description": "All of the types will be present in the result, with values of <code>true</code> if they are both selected to be removed and permitted to be removed, otherwise <code>false</code>."
    137                   },
    138                   "dataRemovalPermitted": {
    139                     "$ref": "DataTypeSet",
    140                     "description": "All of the types will be present in the result, with values of <code>true</code> if they are permitted to be removed (e.g., by enterprise policy) and <code>false</code> if not."
    141                   }
    142                 }
    143               }
    144             ]
    145           }
    146         ]
    147       },
    148       {
    149         "name": "remove",
    150         "description": "Clears various types of browsing data stored in a user's profile.",
    151         "type": "function",
    152         "parameters": [
    153           {
    154             "$ref": "RemovalOptions",
    155             "name": "options"
    156           },
    157           {
    158             "name": "dataToRemove",
    159             "$ref": "DataTypeSet",
    160             "description": "The set of data types to remove."
    161           },
    162           {
    163             "name": "callback",
    164             "type": "function",
    165             "description": "Called when deletion has completed.",
    166             "optional": true,
    167             "parameters": []
    168           }
    169         ]
    170       },
    171       {
    172         "name": "removeAppcache",
    173         "description": "Clears websites' appcache data.",
    174         "type": "function",
    175         "parameters": [
    176           {
    177             "$ref": "RemovalOptions",
    178             "name": "options"
    179           },
    180           {
    181             "name": "callback",
    182             "type": "function",
    183             "description": "Called when websites' appcache data has been cleared.",
    184             "optional": true,
    185             "parameters": []
    186           }
    187         ]
    188       },
    189       {
    190         "name": "removeCache",
    191         "description": "Clears the browser's cache.",
    192         "type": "function",
    193         "parameters": [
    194           {
    195             "$ref": "RemovalOptions",
    196             "name": "options"
    197           },
    198           {
    199             "name": "callback",
    200             "type": "function",
    201             "description": "Called when the browser's cache has been cleared.",
    202             "optional": true,
    203             "parameters": []
    204           }
    205         ]
    206       },
    207       {
    208         "name": "removeCookies",
    209         "description": "Clears the browser's cookies and server-bound certificates modified within a particular timeframe.",
    210         "type": "function",
    211         "parameters": [
    212           {
    213             "$ref": "RemovalOptions",
    214             "name": "options"
    215           },
    216           {
    217             "name": "callback",
    218             "type": "function",
    219             "description": "Called when the browser's cookies and server-bound certificates have been cleared.",
    220             "optional": true,
    221             "parameters": []
    222           }
    223         ]
    224       },
    225       {
    226         "name": "removeDownloads",
    227         "description": "Clears the browser's list of downloaded files (<em>not</em> the downloaded files themselves).",
    228         "type": "function",
    229         "parameters": [
    230           {
    231             "$ref": "RemovalOptions",
    232             "name": "options"
    233           },
    234           {
    235             "name": "callback",
    236             "type": "function",
    237             "description": "Called when the browser's list of downloaded files has been cleared.",
    238             "optional": true,
    239             "parameters": []
    240           }
    241         ]
    242       },
    243       {
    244         "name": "removeFileSystems",
    245         "description": "Clears websites' file system data.",
    246         "type": "function",
    247         "parameters": [
    248           {
    249             "$ref": "RemovalOptions",
    250             "name": "options"
    251           },
    252           {
    253             "name": "callback",
    254             "type": "function",
    255             "description": "Called when websites' file systems have been cleared.",
    256             "optional": true,
    257             "parameters": []
    258           }
    259         ]
    260       },
    261       {
    262         "name": "removeFormData",
    263         "description": "Clears the browser's stored form data (autofill).",
    264         "type": "function",
    265         "parameters": [
    266           {
    267             "$ref": "RemovalOptions",
    268             "name": "options"
    269           },
    270           {
    271             "name": "callback",
    272             "type": "function",
    273             "description": "Called when the browser's form data has been cleared.",
    274             "optional": true,
    275             "parameters": []
    276           }
    277         ]
    278       },
    279       {
    280         "name": "removeHistory",
    281         "description": "Clears the browser's history.",
    282         "type": "function",
    283         "parameters": [
    284           {
    285             "$ref": "RemovalOptions",
    286             "name": "options"
    287           },
    288           {
    289             "name": "callback",
    290             "type": "function",
    291             "description": "Called when the browser's history has cleared.",
    292             "optional": true,
    293             "parameters": []
    294           }
    295         ]
    296       },
    297       {
    298         "name": "removeIndexedDB",
    299         "description": "Clears websites' IndexedDB data.",
    300         "type": "function",
    301         "parameters": [
    302           {
    303             "$ref": "RemovalOptions",
    304             "name": "options"
    305           },
    306           {
    307             "name": "callback",
    308             "type": "function",
    309             "description": "Called when websites' IndexedDB data has been cleared.",
    310             "optional": true,
    311             "parameters": []
    312           }
    313         ]
    314       },
    315       {
    316         "name": "removeLocalStorage",
    317         "description": "Clears websites' local storage data.",
    318         "type": "function",
    319         "parameters": [
    320           {
    321             "$ref": "RemovalOptions",
    322             "name": "options"
    323           },
    324           {
    325             "name": "callback",
    326             "type": "function",
    327             "description": "Called when websites' local storage has been cleared.",
    328             "optional": true,
    329             "parameters": []
    330           }
    331         ]
    332       },
    333       {
    334         "name": "removePluginData",
    335         "description": "Clears plugins' data.",
    336         "type": "function",
    337         "parameters": [
    338           {
    339             "$ref": "RemovalOptions",
    340             "name": "options"
    341           },
    342           {
    343             "name": "callback",
    344             "type": "function",
    345             "description": "Called when plugins' data has been cleared.",
    346             "optional": true,
    347             "parameters": []
    348           }
    349         ]
    350       },
    351       {
    352         "name": "removePasswords",
    353         "description": "Clears the browser's stored passwords.",
    354         "type": "function",
    355         "parameters": [
    356           {
    357             "$ref": "RemovalOptions",
    358             "name": "options"
    359           },
    360           {
    361             "name": "callback",
    362             "type": "function",
    363             "description": "Called when the browser's passwords have been cleared.",
    364             "optional": true,
    365             "parameters": []
    366           }
    367         ]
    368       },
    369       {
    370         "name": "removeWebSQL",
    371         "description": "Clears websites' WebSQL data.",
    372         "type": "function",
    373         "parameters": [
    374           {
    375             "$ref": "RemovalOptions",
    376             "name": "options"
    377           },
    378           {
    379             "name": "callback",
    380             "type": "function",
    381             "description": "Called when websites' WebSQL databases have been cleared.",
    382             "optional": true,
    383             "parameters": []
    384           }
    385         ]
    386       }
    387     ]
    388   }
    389 ]
    390