1 // Copyright 2018 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CEF_LIBCEF_COMMON_EXTENSIONS_EXTENSIONS_API_PROVIDER_H_ 6 #define CEF_LIBCEF_COMMON_EXTENSIONS_EXTENSIONS_API_PROVIDER_H_ 7 8 #include "extensions/common/extensions_api_provider.h" 9 10 namespace extensions { 11 12 class CefExtensionsAPIProvider : public ExtensionsAPIProvider { 13 public: 14 CefExtensionsAPIProvider(); 15 16 CefExtensionsAPIProvider(const CefExtensionsAPIProvider&) = delete; 17 CefExtensionsAPIProvider& operator=(const CefExtensionsAPIProvider&) = delete; 18 19 // ExtensionsAPIProvider: 20 void AddAPIFeatures(FeatureProvider* provider) override; 21 void AddManifestFeatures(FeatureProvider* provider) override; 22 void AddPermissionFeatures(FeatureProvider* provider) override; 23 void AddBehaviorFeatures(FeatureProvider* provider) override; 24 void AddAPIJSONSources(JSONFeatureProviderSource* json_source) override; 25 bool IsAPISchemaGenerated(const std::string& name) override; 26 base::StringPiece GetAPISchema(const std::string& name) override; 27 void RegisterPermissions(PermissionsInfo* permissions_info) override; 28 void RegisterManifestHandlers() override; 29 }; 30 31 } // namespace extensions 32 33 #endif // CEF_LIBCEF_COMMON_EXTENSIONS_EXTENSIONS_API_PROVIDER_H_ 34