/**
* Namespace: browser.browsingData
* Generated from Mozilla sources. Do not manually edit!
*
* Use the chrome.browsingData
API to remove browsing data from a user's local profile.
* Permissions: "browsingData"
*
* Comments found in source JSON schema files:
* 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.
*/
import { ExtensionTypes } from "./extensionTypes";
export namespace BrowsingData {
/**
* Options that determine exactly what data will be removed.
*/
interface RemovalOptions {
/**
* 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).
* Optional.
*/
since?: ExtensionTypes.DateType;
/**
* Only remove data associated with these hostnames (only applies to cookies and localStorage).
* Optional.
*/
hostnames?: string[];
/**
* Only remove data associated with this specific cookieStoreId.
* Optional.
*/
cookieStoreId?: string;
/**
* 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'.
* Optional.
*/
originTypes?: RemovalOptionsOriginTypesType;
}
/**
* A set of data types. Missing data types are interpreted as false
.
*/
interface DataTypeSet {
/**
* The browser's cache. Note: when removing data, this clears the entire cache: it is not limited to the range you
* specify.
* Optional.
*/
cache?: boolean;
/**
* The browser's cookies.
* Optional.
*/
cookies?: boolean;
/**
* The browser's download list.
* Optional.
*/
downloads?: boolean;
/**
* The browser's stored form data.
* Optional.
*/
formData?: boolean;
/**
* The browser's history.
* Optional.
*/
history?: boolean;
/**
* Websites' IndexedDB data.
* Optional.
*/
indexedDB?: boolean;
/**
* Websites' local storage data.
* Optional.
*/
localStorage?: boolean;
/**
* Server-bound certificates.
* Optional.
*/
serverBoundCertificates?: boolean;
/**
* Stored passwords.
* Optional.
*/
passwords?: boolean;
/**
* Plugins' data.
* Optional.
*/
pluginData?: boolean;
/**
* Service Workers.
* Optional.
*/
serviceWorkers?: boolean;
}
interface SettingsCallbackResultType {
options: RemovalOptions;
/**
* 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
.
*/
dataToRemove: DataTypeSet;
/**
* 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.
*/
dataRemovalPermitted: DataTypeSet;
}
/**
* 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'.
*/
interface RemovalOptionsOriginTypesType {
/**
* Normal websites.
* Optional.
*/
unprotectedWeb?: boolean;
/**
* Websites that have been installed as hosted applications (be careful!).
* Optional.
*/
protectedWeb?: boolean;
/**
* Extensions and packaged applications a user has installed (be _really_ careful!).
* Optional.
*/
extension?: boolean;
}
interface Static {
/**
* 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.
*/
settings(): Promise;
/**
* Clears various types of browsing data stored in a user's profile.
*
* @param options
* @param dataToRemove The set of data types to remove.
* @returns Called when deletion has completed.
*/
remove(options: RemovalOptions, dataToRemove: DataTypeSet): Promise;
/**
* Clears the browser's cache.
*
* @param options
* @returns Called when the browser's cache has been cleared.
*/
removeCache(options: RemovalOptions): Promise;
/**
* Clears the browser's cookies and server-bound certificates modified within a particular timeframe.
*
* @param options
* @returns Called when the browser's cookies and server-bound certificates have been cleared.
*/
removeCookies(options: RemovalOptions): Promise;
/**
* Clears the browser's list of downloaded files (not the downloaded files themselves).
*
* @param options
* @returns Called when the browser's list of downloaded files has been cleared.
*/
removeDownloads(options: RemovalOptions): Promise;
/**
* Clears the browser's stored form data (autofill).
*
* @param options
* @returns Called when the browser's form data has been cleared.
*/
removeFormData(options: RemovalOptions): Promise;
/**
* Clears the browser's history.
*
* @param options
* @returns Called when the browser's history has cleared.
*/
removeHistory(options: RemovalOptions): Promise;
/**
* Clears websites' local storage data.
*
* @param options
* @returns Called when websites' local storage has been cleared.
*/
removeLocalStorage(options: RemovalOptions): Promise;
/**
* Clears plugins' data.
*
* @param options
* @returns Called when plugins' data has been cleared.
*/
removePluginData(options: RemovalOptions): Promise;
/**
* Clears the browser's stored passwords.
*
* @param options
* @returns Called when the browser's passwords have been cleared.
*/
removePasswords(options: RemovalOptions): Promise;
}
}