blob: 92ee2351fd1fdb0f95d0ba5d750e714a787801a3 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/common/controlled_frame/controlled_frame_api_provider.h"
#include <string_view>
#include "chrome/common/controlled_frame/api/api_features.h"
#include "chrome/common/controlled_frame/api/generated_schemas.h"
#include "chrome/grit/common_resources.h"
#include "extensions/common/features/json_feature_provider_source.h"
namespace controlled_frame {
ControlledFrameAPIProvider::ControlledFrameAPIProvider() = default;
ControlledFrameAPIProvider::~ControlledFrameAPIProvider() = default;
void ControlledFrameAPIProvider::AddAPIFeatures(
extensions::FeatureProvider* provider) {
AddControlledFrameAPIFeatures(provider);
}
void ControlledFrameAPIProvider::AddManifestFeatures(
extensions::FeatureProvider* provider) {
// No Controlled Frame specific manifest features.
}
void ControlledFrameAPIProvider::AddPermissionFeatures(
extensions::FeatureProvider* provider) {
// No Controlled Frame specific permission features.
}
void ControlledFrameAPIProvider::AddBehaviorFeatures(
extensions::FeatureProvider* provider) {
// No Controlled Frame specific manifest features.
}
void ControlledFrameAPIProvider::AddAPIJSONSources(
extensions::JSONFeatureProviderSource* json_source) {
json_source->LoadJSON(IDR_CHROME_CONTROLLED_FRAME_API_FEATURES);
}
bool ControlledFrameAPIProvider::IsAPISchemaGenerated(const std::string& name) {
return api::ControlledFrameGeneratedSchemas::IsGenerated(name);
}
std::string_view ControlledFrameAPIProvider::GetAPISchema(
const std::string& name) {
return api::ControlledFrameGeneratedSchemas::Get(name);
}
void ControlledFrameAPIProvider::RegisterPermissions(
extensions::PermissionsInfo* permissions_info) {
// No Controlled Frame specific permissions.
}
void ControlledFrameAPIProvider::RegisterManifestHandlers() {
// No Controlled Frame specific manifest handlers.
}
} // namespace controlled_frame