| // Copyright 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "extensions/common/core_extensions_api_provider.h" |
| |
| #include "extensions/common/api/api_features.h" |
| #include "extensions/common/api/behavior_features.h" |
| #include "extensions/common/api/generated_schemas.h" |
| #include "extensions/common/api/manifest_features.h" |
| #include "extensions/common/api/permission_features.h" |
| #include "extensions/common/common_manifest_handlers.h" |
| #include "extensions/common/features/json_feature_provider_source.h" |
| #include "extensions/common/permissions/extensions_api_permissions.h" |
| #include "extensions/common/permissions/permissions_info.h" |
| #include "extensions/grit/extensions_resources.h" |
| |
| namespace extensions { |
| |
| CoreExtensionsAPIProvider::CoreExtensionsAPIProvider() {} |
| CoreExtensionsAPIProvider::~CoreExtensionsAPIProvider() = default; |
| |
| void CoreExtensionsAPIProvider::AddAPIFeatures(FeatureProvider* provider) { |
| AddCoreAPIFeatures(provider); |
| } |
| |
| void CoreExtensionsAPIProvider::AddManifestFeatures(FeatureProvider* provider) { |
| AddCoreManifestFeatures(provider); |
| } |
| |
| void CoreExtensionsAPIProvider::AddPermissionFeatures( |
| FeatureProvider* provider) { |
| AddCorePermissionFeatures(provider); |
| } |
| |
| void CoreExtensionsAPIProvider::AddBehaviorFeatures(FeatureProvider* provider) { |
| AddCoreBehaviorFeatures(provider); |
| } |
| |
| void CoreExtensionsAPIProvider::AddAPIJSONSources( |
| JSONFeatureProviderSource* json_source) { |
| json_source->LoadJSON(IDR_EXTENSION_API_FEATURES); |
| } |
| |
| bool CoreExtensionsAPIProvider::IsAPISchemaGenerated(const std::string& name) { |
| return api::GeneratedSchemas::IsGenerated(name); |
| } |
| |
| base::StringPiece CoreExtensionsAPIProvider::GetAPISchema( |
| const std::string& name) { |
| return api::GeneratedSchemas::Get(name); |
| } |
| |
| void CoreExtensionsAPIProvider::RegisterPermissions( |
| PermissionsInfo* permissions_info) { |
| permissions_info->RegisterPermissions( |
| api_permissions::GetPermissionInfos(), |
| api_permissions::GetPermissionAliases()); |
| } |
| |
| void CoreExtensionsAPIProvider::RegisterManifestHandlers() { |
| RegisterCommonManifestHandlers(); |
| } |
| |
| } // namespace extensions |