diff -r 000000000000 -r 6474c204b198 dom/quota/nsIQuotaManager.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dom/quota/nsIQuotaManager.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +interface nsIQuotaRequest; +interface nsIURI; +interface nsIUsageCallback; + +[scriptable, builtinclass, uuid(2968fcd5-1872-4ddc-8c16-62b27e357f31)] +interface nsIQuotaManager : nsISupports +{ + /** + * Schedules an asynchronous callback that will return the total amount of + * disk space being used by storages for the given origin. + * + * @param aURI + * The URI whose usage is being queried. + * @param aCallback + * The callback that will be called when the usage is available. + */ + [optional_argc] + nsIQuotaRequest + getUsageForURI(in nsIURI aURI, + in nsIUsageCallback aCallback, + [optional] in unsigned long aAppId, + [optional] in boolean aInMozBrowserOnly); + + /** + * Removes all storages. The files may not be deleted immediately depending + * on prohibitive concurrent operations. + * Be careful, this removes *all* the data that has ever been stored! + * + * If the dom.quotaManager.testing preference is not true the call will be + * a no-op. + */ + void + clear(); + + /** + * Removes all storages stored for the given URI. The files may not be + * deleted immediately depending on prohibitive concurrent operations. + * + * @param aURI + * The URI whose storages are to be cleared. + */ + [optional_argc] + void + clearStoragesForURI(in nsIURI aURI, + [optional] in unsigned long aAppId, + [optional] in boolean aInMozBrowserOnly, + [optional] in ACString aPersistenceType); + + /** + * Resets quota and storage management. This can be used to force + * reinitialization of the temp storage, for example when the pref for + * overriding the temp storage limit has changed. + * Be carefull, this invalidates all live storages! + * + * If the dom.quotaManager.testing preference is not true the call will be + * a no-op. + */ + void + reset(); +};