diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /dom/interfaces/storage/nsIStorageActivityService.idl | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/interfaces/storage/nsIStorageActivityService.idl')
-rw-r--r-- | dom/interfaces/storage/nsIStorageActivityService.idl | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/dom/interfaces/storage/nsIStorageActivityService.idl b/dom/interfaces/storage/nsIStorageActivityService.idl new file mode 100644 index 0000000000..f33fcfc222 --- /dev/null +++ b/dom/interfaces/storage/nsIStorageActivityService.idl @@ -0,0 +1,42 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* 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 "domstubs.idl" + +interface nsIArray; +interface nsIPrincipal; + +/** + * nsIStorageActivityService is a service that can be used to know which + * origins have been active in a time range. This information can be used to + * implement "Clear Recent History" or similar features. + * + * If you are implementing a new Storage component, you should use + * QuotaManager. But if you don't do it, remember to call + * StorageActivityService methods in order to inform this service about + * 'writing' operations executed by origins. + */ +[scriptable, builtinclass, uuid(fd1310ba-d1be-4327-988e-92b39fcff6f4)] +interface nsIStorageActivityService : nsISupports +{ + // This returns an array of nsIPrincipals, active between |from| and |to| + // timestamps. Note activities older than 1 day are forgotten. + // Activity details are not persisted, so this only covers activity since + // Firefox was started. All content principals are logged, which includes + // non-system principals like "moz-extension://ID", "moz-safe-about:home", + // "about:newtab", so principals may need to be filtered before being used. + nsIArray getActiveOrigins(in PRTime from, in PRTime to); + + // NOTE: This method is meant to be used for testing only. + // The activity of |origin| is moved to the specified timestamp |when|. + void moveOriginInTime(in nsIPrincipal origin, in PRTime when); + + // TEST-ONLY method to support clearing all previously known activity. + void testOnlyReset(); +}; + +%{ C++ +#define STORAGE_ACTIVITY_SERVICE_CONTRACTID "@mozilla.org/storage/activity-service;1" +%} |