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 "chrome/common/apps/platform_apps/chrome_apps_api_provider.h" 6 7 #include "chrome/common/apps/platform_apps/api/api_features.h" 8 #include "chrome/common/apps/platform_apps/api/generated_schemas.h" 9 #include "chrome/common/apps/platform_apps/api/permission_features.h" 10 #include "chrome/common/apps/platform_apps/chrome_apps_api_permissions.h" 11 #include "chrome/grit/common_resources.h" 12 #include "extensions/common/alias.h" 13 #include "extensions/common/features/json_feature_provider_source.h" 14 #include "extensions/common/permissions/permissions_info.h" 15 16 namespace chrome_apps { 17 18 ChromeAppsAPIProvider::ChromeAppsAPIProvider() = default; 19 ChromeAppsAPIProvider::~ChromeAppsAPIProvider() = default; 20 AddAPIFeatures(extensions::FeatureProvider * provider)21void ChromeAppsAPIProvider::AddAPIFeatures( 22 extensions::FeatureProvider* provider) { 23 AddChromeAppsAPIFeatures(provider); 24 } 25 AddManifestFeatures(extensions::FeatureProvider * provider)26void ChromeAppsAPIProvider::AddManifestFeatures( 27 extensions::FeatureProvider* provider) { 28 // No Chrome-apps-specific manifest features (yet). 29 } 30 AddPermissionFeatures(extensions::FeatureProvider * provider)31void ChromeAppsAPIProvider::AddPermissionFeatures( 32 extensions::FeatureProvider* provider) { 33 AddChromeAppsPermissionFeatures(provider); 34 } 35 AddBehaviorFeatures(extensions::FeatureProvider * provider)36void ChromeAppsAPIProvider::AddBehaviorFeatures( 37 extensions::FeatureProvider* provider) { 38 // No Chrome-apps-specific manifest features. 39 } 40 AddAPIJSONSources(extensions::JSONFeatureProviderSource * json_source)41void ChromeAppsAPIProvider::AddAPIJSONSources( 42 extensions::JSONFeatureProviderSource* json_source) { 43 json_source->LoadJSON(IDR_CHROME_APP_API_FEATURES); 44 } 45 IsAPISchemaGenerated(const std::string & name)46bool ChromeAppsAPIProvider::IsAPISchemaGenerated(const std::string& name) { 47 return api::ChromeAppsGeneratedSchemas::IsGenerated(name); 48 } 49 GetAPISchema(const std::string & name)50base::StringPiece ChromeAppsAPIProvider::GetAPISchema(const std::string& name) { 51 return api::ChromeAppsGeneratedSchemas::Get(name); 52 } 53 RegisterPermissions(extensions::PermissionsInfo * permissions_info)54void ChromeAppsAPIProvider::RegisterPermissions( 55 extensions::PermissionsInfo* permissions_info) { 56 permissions_info->RegisterPermissions( 57 chrome_apps_api_permissions::GetPermissionInfos(), 58 base::span<const extensions::Alias>()); 59 } 60 RegisterManifestHandlers()61void ChromeAppsAPIProvider::RegisterManifestHandlers() { 62 // No apps-specific manifest handlers (yet). 63 } 64 65 } // namespace chrome_apps 66