chromium/extensions/browser/api/offscreen/offscreen_document_lifetime_enforcer.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef EXTENSIONS_BROWSER_API_OFFSCREEN_OFFSCREEN_DOCUMENT_LIFETIME_ENFORCER_H_
#define EXTENSIONS_BROWSER_API_OFFSCREEN_OFFSCREEN_DOCUMENT_LIFETIME_ENFORCER_H_

#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"

namespace extensions {
class OffscreenDocumentHost;

// A class that allows for the enforcement of an offscreen document's lifetime.
// This is responsible for tracking the activity of an offscreen document and
// notifying when it changes, as well as terminating the document if a hard
// limit is encountered.
// An offscreen document will be terminated when either no lifetime enforcers
// detect the offscreen document as active or when the document is directly
// terminated.
class OffscreenDocumentLifetimeEnforcer {};

}  // namespace extensions

#endif  // EXTENSIONS_BROWSER_API_OFFSCREEN_OFFSCREEN_DOCUMENT_LIFETIME_ENFORCER_H_