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 #include "extensions/shell/common/shell_extensions_api_provider.h" 6 7 #include "extensions/common/features/json_feature_provider_source.h" 8 #include "extensions/shell/common/api/generated_schemas.h" 9 #include "extensions/shell/common/api/shell_api_features.h" 10 #include "extensions/shell/grit/app_shell_resources.h" 11 12 namespace extensions { 13 14 ShellExtensionsAPIProvider::ShellExtensionsAPIProvider() = default; 15 ShellExtensionsAPIProvider::~ShellExtensionsAPIProvider() = default; 16 AddAPIFeatures(FeatureProvider * provider)17void ShellExtensionsAPIProvider::AddAPIFeatures(FeatureProvider* provider) { 18 AddShellAPIFeatures(provider); 19 } 20 AddManifestFeatures(FeatureProvider * provider)21void ShellExtensionsAPIProvider::AddManifestFeatures( 22 FeatureProvider* provider) { 23 // No shell-specific manifest features. 24 } 25 AddPermissionFeatures(FeatureProvider * provider)26void ShellExtensionsAPIProvider::AddPermissionFeatures( 27 FeatureProvider* provider) { 28 // No shell-specific permission features. 29 } 30 AddBehaviorFeatures(FeatureProvider * provider)31void ShellExtensionsAPIProvider::AddBehaviorFeatures( 32 FeatureProvider* provider) { 33 // No shell-specific behavior features. 34 } 35 AddAPIJSONSources(JSONFeatureProviderSource * json_source)36void ShellExtensionsAPIProvider::AddAPIJSONSources( 37 JSONFeatureProviderSource* json_source) { 38 json_source->LoadJSON(IDR_SHELL_EXTENSION_API_FEATURES); 39 } 40 IsAPISchemaGenerated(const std::string & name)41bool ShellExtensionsAPIProvider::IsAPISchemaGenerated(const std::string& name) { 42 return shell::api::ShellGeneratedSchemas::IsGenerated(name); 43 } 44 GetAPISchema(const std::string & name)45base::StringPiece ShellExtensionsAPIProvider::GetAPISchema( 46 const std::string& name) { 47 return shell::api::ShellGeneratedSchemas::Get(name); 48 } 49 RegisterPermissions(PermissionsInfo * permissions_info)50void ShellExtensionsAPIProvider::RegisterPermissions( 51 PermissionsInfo* permissions_info) {} 52 RegisterManifestHandlers()53void ShellExtensionsAPIProvider::RegisterManifestHandlers() {} 54 55 } // namespace extensions 56