// 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_