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 "passwords": { 100 "type": "boolean", 101 "optional": true, 102 "description": "Stored passwords." 103 }, 104 "pluginData": { 105 "type": "boolean", 106 "optional": true, 107 "description": "Plugins' data." 108 }, 109 "serviceWorkers": { 110 "type": "boolean", 111 "optional": true, 112 "description": "Service Workers." 113 }, 114 "webSQL": { 115 "type": "boolean", 116 "optional": true, 117 "description": "Websites' WebSQL data." 118 } 119 } 120 } 121 ], 122 "functions": [ 123 { 124 "name": "settings", 125 "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.", 126 "type": "function", 127 "parameters": [ 128 { 129 "name": "callback", 130 "type": "function", 131 "parameters": [ 132 { 133 "name": "result", 134 "type": "object", 135 "properties": { 136 "options": { 137 "$ref": "RemovalOptions" 138 }, 139 "dataToRemove": { 140 "$ref": "DataTypeSet", 141 "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>." 142 }, 143 "dataRemovalPermitted": { 144 "$ref": "DataTypeSet", 145 "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." 146 } 147 } 148 } 149 ] 150 } 151 ] 152 }, 153 { 154 "name": "remove", 155 "description": "Clears various types of browsing data stored in a user's profile.", 156 "type": "function", 157 "parameters": [ 158 { 159 "$ref": "RemovalOptions", 160 "name": "options" 161 }, 162 { 163 "name": "dataToRemove", 164 "$ref": "DataTypeSet", 165 "description": "The set of data types to remove." 166 }, 167 { 168 "name": "callback", 169 "type": "function", 170 "description": "Called when deletion has completed.", 171 "optional": true, 172 "parameters": [] 173 } 174 ] 175 }, 176 { 177 "name": "removeAppcache", 178 "description": "Clears websites' appcache data.", 179 "type": "function", 180 "parameters": [ 181 { 182 "$ref": "RemovalOptions", 183 "name": "options" 184 }, 185 { 186 "name": "callback", 187 "type": "function", 188 "description": "Called when websites' appcache data has been cleared.", 189 "optional": true, 190 "parameters": [] 191 } 192 ] 193 }, 194 { 195 "name": "removeCache", 196 "description": "Clears the browser's cache.", 197 "type": "function", 198 "parameters": [ 199 { 200 "$ref": "RemovalOptions", 201 "name": "options" 202 }, 203 { 204 "name": "callback", 205 "type": "function", 206 "description": "Called when the browser's cache has been cleared.", 207 "optional": true, 208 "parameters": [] 209 } 210 ] 211 }, 212 { 213 "name": "removeCookies", 214 "description": "Clears the browser's cookies and server-bound certificates modified within a particular timeframe.", 215 "type": "function", 216 "parameters": [ 217 { 218 "$ref": "RemovalOptions", 219 "name": "options" 220 }, 221 { 222 "name": "callback", 223 "type": "function", 224 "description": "Called when the browser's cookies and server-bound certificates have been cleared.", 225 "optional": true, 226 "parameters": [] 227 } 228 ] 229 }, 230 { 231 "name": "removeDownloads", 232 "description": "Clears the browser's list of downloaded files (<em>not</em> the downloaded files themselves).", 233 "type": "function", 234 "parameters": [ 235 { 236 "$ref": "RemovalOptions", 237 "name": "options" 238 }, 239 { 240 "name": "callback", 241 "type": "function", 242 "description": "Called when the browser's list of downloaded files has been cleared.", 243 "optional": true, 244 "parameters": [] 245 } 246 ] 247 }, 248 { 249 "name": "removeFileSystems", 250 "description": "Clears websites' file system data.", 251 "type": "function", 252 "parameters": [ 253 { 254 "$ref": "RemovalOptions", 255 "name": "options" 256 }, 257 { 258 "name": "callback", 259 "type": "function", 260 "description": "Called when websites' file systems have been cleared.", 261 "optional": true, 262 "parameters": [] 263 } 264 ] 265 }, 266 { 267 "name": "removeFormData", 268 "description": "Clears the browser's stored form data (autofill).", 269 "type": "function", 270 "parameters": [ 271 { 272 "$ref": "RemovalOptions", 273 "name": "options" 274 }, 275 { 276 "name": "callback", 277 "type": "function", 278 "description": "Called when the browser's form data has been cleared.", 279 "optional": true, 280 "parameters": [] 281 } 282 ] 283 }, 284 { 285 "name": "removeHistory", 286 "description": "Clears the browser's history.", 287 "type": "function", 288 "parameters": [ 289 { 290 "$ref": "RemovalOptions", 291 "name": "options" 292 }, 293 { 294 "name": "callback", 295 "type": "function", 296 "description": "Called when the browser's history has cleared.", 297 "optional": true, 298 "parameters": [] 299 } 300 ] 301 }, 302 { 303 "name": "removeIndexedDB", 304 "description": "Clears websites' IndexedDB data.", 305 "type": "function", 306 "parameters": [ 307 { 308 "$ref": "RemovalOptions", 309 "name": "options" 310 }, 311 { 312 "name": "callback", 313 "type": "function", 314 "description": "Called when websites' IndexedDB data has been cleared.", 315 "optional": true, 316 "parameters": [] 317 } 318 ] 319 }, 320 { 321 "name": "removeLocalStorage", 322 "description": "Clears websites' local storage data.", 323 "type": "function", 324 "parameters": [ 325 { 326 "$ref": "RemovalOptions", 327 "name": "options" 328 }, 329 { 330 "name": "callback", 331 "type": "function", 332 "description": "Called when websites' local storage has been cleared.", 333 "optional": true, 334 "parameters": [] 335 } 336 ] 337 }, 338 { 339 "name": "removePluginData", 340 "description": "Clears plugins' data.", 341 "type": "function", 342 "parameters": [ 343 { 344 "$ref": "RemovalOptions", 345 "name": "options" 346 }, 347 { 348 "name": "callback", 349 "type": "function", 350 "description": "Called when plugins' data has been cleared.", 351 "optional": true, 352 "parameters": [] 353 } 354 ] 355 }, 356 { 357 "name": "removePasswords", 358 "description": "Clears the browser's stored passwords.", 359 "type": "function", 360 "parameters": [ 361 { 362 "$ref": "RemovalOptions", 363 "name": "options" 364 }, 365 { 366 "name": "callback", 367 "type": "function", 368 "description": "Called when the browser's passwords have been cleared.", 369 "optional": true, 370 "parameters": [] 371 } 372 ] 373 }, 374 { 375 "name": "removeWebSQL", 376 "description": "Clears websites' WebSQL data.", 377 "type": "function", 378 "parameters": [ 379 { 380 "$ref": "RemovalOptions", 381 "name": "options" 382 }, 383 { 384 "name": "callback", 385 "type": "function", 386 "description": "Called when websites' WebSQL databases have been cleared.", 387 "optional": true, 388 "parameters": [] 389 } 390 ] 391 } 392 ] 393 } 394 ] 395