| # 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. |
| |
| import("//chrome/common/controlled_frame/api/api_sources.gni") |
| import("//chrome/common/features.gni") |
| import("//tools/json_schema_compiler/json_features.gni") |
| import("//tools/json_schema_compiler/json_schema_api.gni") |
| |
| assert(enable_extensions) |
| |
| ################################################################################ |
| # Public Targets |
| |
| group("api") { |
| public_deps = [ |
| ":generated_api_json_strings", |
| ":generated_api_types", |
| ] |
| } |
| |
| group("controlled_frame_features") { |
| public_deps = [ ":api_features" ] |
| } |
| |
| ################################################################################ |
| # Private Targets |
| |
| generated_json_strings("generated_api_json_strings") { |
| sources = controlled_frame_api_schema_sources |
| configs = [ "//build/config:precompiled_headers" ] |
| bundle_name = "ControlledFrame" |
| schema_include_rules = controlled_frame_api_schema_include_rules |
| root_namespace = controlled_frame_api_root_namespace |
| deps = [ "//chrome/common/extensions/api" ] |
| visibility = [ ":api" ] |
| } |
| |
| generated_types("generated_api_types") { |
| sources = controlled_frame_api_schema_sources |
| configs = [ "//build/config:precompiled_headers" ] |
| schema_include_rules = controlled_frame_api_schema_include_rules |
| root_namespace = controlled_frame_api_root_namespace |
| deps = [ "//chrome/common/extensions/api" ] |
| visibility = [ ":api" ] |
| } |
| |
| json_features("api_features") { |
| feature_type = "APIFeature" |
| method_name = "AddControlledFrameAPIFeatures" |
| sources = [ "_api_features.json" ] |
| visibility = [ ":controlled_frame_features" ] |
| } |