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 "base/macros.h" 9 #include "extensions/common/extensions_api_provider.h" 10 11 namespace extensions { 12 13 class CefExtensionsAPIProvider : public ExtensionsAPIProvider { 14 public: 15 CefExtensionsAPIProvider(); 16 17 // ExtensionsAPIProvider: 18 void AddAPIFeatures(FeatureProvider* provider) override; 19 void AddManifestFeatures(FeatureProvider* provider) override; 20 void AddPermissionFeatures(FeatureProvider* provider) override; 21 void AddBehaviorFeatures(FeatureProvider* provider) override; 22 void AddAPIJSONSources(JSONFeatureProviderSource* json_source) override; 23 bool IsAPISchemaGenerated(const std::string& name) override; 24 base::StringPiece GetAPISchema(const std::string& name) override; 25 void RegisterPermissions(PermissionsInfo* permissions_info) override; 26 void RegisterManifestHandlers() override; 27 28 private: 29 DISALLOW_COPY_AND_ASSIGN(CefExtensionsAPIProvider); 30 }; 31 32 } // namespace extensions 33 34 #endif // CEF_LIBCEF_COMMON_EXTENSIONS_EXTENSIONS_API_PROVIDER_H_ 35