blob: ac909c452be5892d84a647947e0c3302d56993dc [file] [log] [blame]
// Copyright 2020 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.
module blink.mojom;
enum ObservedFeatureType {
kWebLock = 0,
kIndexedDBConnection,
};
// An interface tied to the lifetime of a feature's usage.
interface ObservedFeature {};
// A generic interface for informing some remote that a given feature has
// begun or ended. This is for purposes such as tab freezing, which wants to
// avoid freezing tabs that are using particular features. This interface
// is implemented by the browser process so the renderer can inform it about
// feature usage.
interface FeatureObserver {
// Inform the observer that a particular |feature| is being used, and
// when the connection is broken, that instance is no longer in use.
Register(pending_receiver<ObservedFeature> feature, ObservedFeatureType type);
};