core_extensions_api_provider.cc 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. #include "extensions/common/core_extensions_api_provider.h"
  5. #include "extensions/common/api/api_features.h"
  6. #include "extensions/common/api/behavior_features.h"
  7. #include "extensions/common/api/generated_schemas.h"
  8. #include "extensions/common/api/manifest_features.h"
  9. #include "extensions/common/api/permission_features.h"
  10. #include "extensions/common/common_manifest_handlers.h"
  11. #include "extensions/common/features/json_feature_provider_source.h"
  12. #include "extensions/common/permissions/extensions_api_permissions.h"
  13. #include "extensions/common/permissions/permissions_info.h"
  14. #include "extensions/grit/extensions_resources.h"
  15. namespace extensions {
  16. CoreExtensionsAPIProvider::CoreExtensionsAPIProvider() {}
  17. CoreExtensionsAPIProvider::~CoreExtensionsAPIProvider() = default;
  18. void CoreExtensionsAPIProvider::AddAPIFeatures(FeatureProvider* provider) {
  19. AddCoreAPIFeatures(provider);
  20. }
  21. void CoreExtensionsAPIProvider::AddManifestFeatures(FeatureProvider* provider) {
  22. AddCoreManifestFeatures(provider);
  23. }
  24. void CoreExtensionsAPIProvider::AddPermissionFeatures(
  25. FeatureProvider* provider) {
  26. AddCorePermissionFeatures(provider);
  27. }
  28. void CoreExtensionsAPIProvider::AddBehaviorFeatures(FeatureProvider* provider) {
  29. AddCoreBehaviorFeatures(provider);
  30. }
  31. void CoreExtensionsAPIProvider::AddAPIJSONSources(
  32. JSONFeatureProviderSource* json_source) {
  33. json_source->LoadJSON(IDR_EXTENSION_API_FEATURES);
  34. }
  35. bool CoreExtensionsAPIProvider::IsAPISchemaGenerated(const std::string& name) {
  36. return api::GeneratedSchemas::IsGenerated(name);
  37. }
  38. base::StringPiece CoreExtensionsAPIProvider::GetAPISchema(
  39. const std::string& name) {
  40. return api::GeneratedSchemas::Get(name);
  41. }
  42. void CoreExtensionsAPIProvider::RegisterPermissions(
  43. PermissionsInfo* permissions_info) {
  44. permissions_info->RegisterPermissions(
  45. api_permissions::GetPermissionInfos(),
  46. api_permissions::GetPermissionAliases());
  47. }
  48. void CoreExtensionsAPIProvider::RegisterManifestHandlers() {
  49. RegisterCommonManifestHandlers();
  50. }
  51. } // namespace extensions