Source code

Revision control

Other Tools

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
[
{
"namespace": "manifest",
"types": [
{
"$extend": "OptionalPermission",
"choices": [{
"type": "string",
"enum": [
"browsingData"
]
}]
}
]
},
{
"namespace": "browsingData",
"description": "Use the <code>chrome.browsingData</code> API to remove browsing data from a user's local profile.",
"permissions": ["browsingData"],
"types": [
{
"id": "RemovalOptions",
"type": "object",
"description": "Options that determine exactly what data will be removed.",
"properties": {
"since": {
"$ref": "extensionTypes.Date",
"optional": true,
"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)."
},
"hostnames": {
"type": "array",
"items": {"type": "string", "format": "hostname"},
"optional": true,
"description": "Only remove data associated with these hostnames (only applies to cookies and localStorage)."
},
"cookieStoreId": {
"type": "string",
"description": "Only remove data associated with this specific cookieStoreId.",
"optional": true
},
"originTypes": {
"type": "object",
"optional": true,
"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'.",
"properties": {
"unprotectedWeb": {
"type": "boolean",
"optional": true,
"description": "Normal websites."
},
"protectedWeb": {
"type": "boolean",
"optional": true,
"description": "Websites that have been installed as hosted applications (be careful!)."
},
"extension": {
"type": "boolean",
"optional": true,
"description": "Extensions and packaged applications a user has installed (be _really_ careful!)."
}
}
}
}
},
{
"id": "DataTypeSet",
"type": "object",
"description": "A set of data types. Missing data types are interpreted as <code>false</code>.",
"properties": {
"cache": {
"type": "boolean",
"optional": true,
"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."
},
"cookies": {
"type": "boolean",
"optional": true,
"description": "The browser's cookies."
},
"downloads": {
"type": "boolean",
"optional": true,
"description": "The browser's download list."
},
"formData": {
"type": "boolean",
"optional": true,
"description": "The browser's stored form data."
},
"history": {
"type": "boolean",
"optional": true,
"description": "The browser's history."
},
"indexedDB": {
"type": "boolean",
"optional": true,
"description": "Websites' IndexedDB data."
},
"localStorage": {
"type": "boolean",
"optional": true,
"description": "Websites' local storage data."
},
"serverBoundCertificates": {
"type": "boolean",
"optional": true,
"description": "Server-bound certificates."
},
"passwords": {
"type": "boolean",
"optional": true,
"description": "Stored passwords."
},
"pluginData": {
"type": "boolean",
"optional": true,
"description": "Plugins' data."
},
"serviceWorkers": {
"type": "boolean",
"optional": true,
"description": "Service Workers."
}
}
}
],
"functions": [
{
"name": "settings",
"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.",
"type": "function",
"async": "callback",
"parameters": [
{
"name": "callback",
"type": "function",
"parameters": [
{
"name": "result",
"type": "object",
"properties": {
"options": {
"$ref": "RemovalOptions"
},
"dataToRemove": {
"$ref": "DataTypeSet",
"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>."
},
"dataRemovalPermitted": {
"$ref": "DataTypeSet",
"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."
}
}
}
]
}
]
},
{
"name": "remove",
"description": "Clears various types of browsing data stored in a user's profile.",
"type": "function",
"async": "callback",
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "dataToRemove",
"$ref": "DataTypeSet",
"description": "The set of data types to remove."
},
{
"name": "callback",
"type": "function",
"description": "Called when deletion has completed.",
"optional": true,
"parameters": []
}
]
},
{
"name": "removeAppcache",
"description": "Clears websites' appcache data.",
"type": "function",
"async": "callback",
"unsupported": true,
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "callback",
"type": "function",
"description": "Called when websites' appcache data has been cleared.",
"optional": true,
"parameters": []
}
]
},
{
"name": "removeCache",
"description": "Clears the browser's cache.",
"type": "function",
"async": "callback",
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "callback",
"type": "function",
"description": "Called when the browser's cache has been cleared.",
"optional": true,
"parameters": []
}
]
},
{
"name": "removeCookies",
"description": "Clears the browser's cookies and server-bound certificates modified within a particular timeframe.",
"type": "function",
"async": "callback",
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "callback",
"type": "function",
"description": "Called when the browser's cookies and server-bound certificates have been cleared.",
"optional": true,
"parameters": []
}
]
},
{
"name": "removeDownloads",
"description": "Clears the browser's list of downloaded files (<em>not</em> the downloaded files themselves).",
"type": "function",
"async": "callback",
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "callback",
"type": "function",
"description": "Called when the browser's list of downloaded files has been cleared.",
"optional": true,
"parameters": []
}
]
},
{
"name": "removeFileSystems",
"description": "Clears websites' file system data.",
"type": "function",
"async": "callback",
"unsupported": true,
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "callback",
"type": "function",
"description": "Called when websites' file systems have been cleared.",
"optional": true,
"parameters": []
}
]
},
{
"name": "removeFormData",
"description": "Clears the browser's stored form data (autofill).",
"type": "function",
"async": "callback",
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "callback",
"type": "function",
"description": "Called when the browser's form data has been cleared.",
"optional": true,
"parameters": []
}
]
},
{
"name": "removeHistory",
"description": "Clears the browser's history.",
"type": "function",
"async": "callback",
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "callback",
"type": "function",
"description": "Called when the browser's history has cleared.",
"optional": true,
"parameters": []
}
]
},
{
"name": "removeIndexedDB",
"description": "Clears websites' IndexedDB data.",
"type": "function",
"async": "callback",
"unsupported": true,
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "callback",
"type": "function",
"description": "Called when websites' IndexedDB data has been cleared.",
"optional": true,
"parameters": []
}
]
},
{
"name": "removeLocalStorage",
"description": "Clears websites' local storage data.",
"type": "function",
"async": "callback",
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "callback",
"type": "function",
"description": "Called when websites' local storage has been cleared.",
"optional": true,
"parameters": []
}
]
},
{
"name": "removePluginData",
"description": "Clears plugins' data.",
"type": "function",
"async": "callback",
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "callback",
"type": "function",
"description": "Called when plugins' data has been cleared.",
"optional": true,
"parameters": []
}
]
},
{
"name": "removePasswords",
"description": "Clears the browser's stored passwords.",
"type": "function",
"async": "callback",
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "callback",
"type": "function",
"description": "Called when the browser's passwords have been cleared.",
"optional": true,
"parameters": []
}
]
},
{
"name": "removeWebSQL",
"description": "Clears websites' WebSQL data.",
"type": "function",
"async": "callback",
"unsupported": true,
"parameters": [
{
"$ref": "RemovalOptions",
"name": "options"
},
{
"name": "callback",
"type": "function",
"description": "Called when websites' WebSQL databases have been cleared.",
"optional": true,
"parameters": []
}
]
}
]
}
]