// 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 chrome.browsingData 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 getTime method of the JavaScript Date 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 really 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 false.", "properties": { "cache": { "type": "boolean", "optional": true, "description": "The browser's cache. Note: when removing data, this clears the entire 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 true if they are both selected to be removed and permitted to be removed, otherwise false." }, "dataRemovalPermitted": { "$ref": "DataTypeSet", "description": "All of the types will be present in the result, with values of true if they are permitted to be removed (e.g., by enterprise policy) and false 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 (not 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": [] } ] } ] } ]