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