mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-23 21:01:08 +00:00
4261669447
Add a new `counts` property to PlacesObservers counting the number of times a PlacesEvent has been fired. This can be used to statistically evaluate the user activity, and increase/decrease rate of background recalculations when large events (migrations) happen, without having to do expensive I/O. Differential Revision: https://phabricator.services.mozilla.com/D204338
40 lines
1.4 KiB
Plaintext
40 lines
1.4 KiB
Plaintext
/* -*- 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/.
|
|
*/
|
|
|
|
callback PlacesEventCallback = undefined (sequence<PlacesEvent> events);
|
|
|
|
[ChromeOnly, Exposed=Window]
|
|
interface PlacesWeakCallbackWrapper {
|
|
constructor(PlacesEventCallback callback);
|
|
};
|
|
|
|
// Counters for number of events sent in the current session.
|
|
[ChromeOnly, Exposed=Window]
|
|
interface PlacesEventCounts {
|
|
readonly maplike<DOMString, unsigned long long>;
|
|
};
|
|
|
|
// Global singleton which should handle all events for places.
|
|
[ChromeOnly, Exposed=Window]
|
|
namespace PlacesObservers {
|
|
[Throws]
|
|
undefined addListener(sequence<PlacesEventType> eventTypes,
|
|
PlacesEventCallback listener);
|
|
[Throws]
|
|
undefined addListener(sequence<PlacesEventType> eventTypes,
|
|
PlacesWeakCallbackWrapper listener);
|
|
[Throws]
|
|
undefined removeListener(sequence<PlacesEventType> eventTypes,
|
|
PlacesEventCallback listener);
|
|
[Throws]
|
|
undefined removeListener(sequence<PlacesEventType> eventTypes,
|
|
PlacesWeakCallbackWrapper listener);
|
|
[Throws]
|
|
undefined notifyListeners(sequence<PlacesEvent> events);
|
|
|
|
readonly attribute PlacesEventCounts counts;
|
|
};
|