From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../storage/nsIStorageActivityService.idl | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 dom/interfaces/storage/nsIStorageActivityService.idl (limited to 'dom/interfaces/storage/nsIStorageActivityService.idl') 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" +%} -- cgit v1.2.3