chromium/extensions/renderer/extensions_renderer_api_provider.h

// Copyright 2023 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_RENDERER_EXTENSIONS_RENDERER_API_PROVIDER_H_
#define EXTENSIONS_RENDERER_EXTENSIONS_RENDERER_API_PROVIDER_H_

namespace extensions {

class Dispatcher;
class ModuleSystem;
class NativeExtensionBindingsSystem;
class ScriptContext;
class ResourceBundleSourceMap;
class V8SchemaRegistry;

// An interface class that is owned by extensions::Dispatcher.
// ExtensionsRendererAPIProvider can be used to override and extend the behavior
// of the extensions system's renderer side from outside of extensions
// directories.
// NOTE: This class may be used on multiple threads. As such, ALL METHODS must
// be `const` and implementors must be careful about accessing any global state.
// See also comment in //extensions/renderer/dispatcher.cc.
class ExtensionsRendererAPIProvider {};

}  // namespace extensions

#endif  // EXTENSIONS_RENDERER_EXTENSIONS_RENDERER_API_PROVIDER_H_