# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/chromeos/ui_mode.gni")
import("//extensions/buildflags/buildflags.gni")
# APIs and features included in both normal desktop builds and the experimental
# desktop-android build.
# TODO(https://crbug.com/356905053): Continue moving more here.
extensions_api_schema_files_ = [ "test.json" ]
# Schemas that should be used only to auto-generate the C++ types.
# In many cases, this includes schemas used to generate types used in manifest
# parsing.
extensions_types_only_schema_files_ = [
"content_scripts.idl",
"cross_origin_isolation.idl",
"extensions_manifest_types.json",
"incognito.json",
"oauth2.idl",
"requirements.json",
"shared_module.idl",
"web_accessible_resources.idl",
"web_accessible_resources_mv2.idl",
]
# APIs that are not currently supported on the experimental desktop-android.
if (enable_extensions) {
extensions_api_schema_files_ += [
"alarms.idl",
"app_current_window_internal.idl",
"app_runtime.idl",
"app_view_guest_internal.json",
"app_window.idl",
"audio.idl",
"automation.idl",
"automation_internal.idl",
"bluetooth.idl",
"bluetooth_low_energy.idl",
"bluetooth_private.idl",
"bluetooth_socket.idl",
"cec_private.idl",
"clipboard.idl",
"declarative_net_request.idl",
"dns.idl",
"events.json",
"extension_options_internal.idl",
"extension_types.json",
"feedback_private.idl",
"file_handlers.idl",
"file_system.idl",
"guest_view_internal.json",
"management.json",
"hid.idl",
"i18n.json",
"icon_variants.idl",
"idle.json",
"metrics_private.json",
"mime_handler_private.idl",
"mime_handler_view_guest_internal.json",
"mojo_private.idl",
"networking_private.idl",
"offscreen.idl",
"power.idl",
"printer_provider.idl",
"printer_provider_internal.idl",
"runtime.json",
"serial.idl",
"socket.idl",
"sockets_tcp.idl",
"sockets_tcp_server.idl",
"sockets_udp.idl",
"storage.json",
"system_cpu.idl",
"system_display.idl",
"system_memory.idl",
"system_network.idl",
"system_storage.idl",
"scripts_internal.idl",
"types.json",
"user_scripts.idl",
"usb.idl",
"virtual_keyboard.idl",
"virtual_keyboard_private.json",
"web_request.json",
"web_view_internal.json",
]
if (is_chromeos_ash) {
extensions_api_schema_files_ += [
"diagnostics.idl",
"lock_screen_data.idl",
"media_perception_private.idl",
]
}
if (is_chromeos) {
extensions_api_schema_files_ += [ "webcam_private.idl" ]
}
}
# In the experimental desktop-android configuration, we still need to compile
# the C++ types for certain APIs, since they are used from outside the
# extensions layer. These should be removed as we add support for the full
# API by moving these entries to the `extensions_api_schema_files_` above.
if (enable_desktop_android_extensions) {
extensions_types_only_schema_files_ += [
"declarative_net_request.idl",
"scripts_internal.idl",
"types.json",
"web_request.json",
"extension_types.json",
"usb.idl",
"system_display.idl",
"clipboard.idl",
"events.json",
"icon_variants.idl",
"file_handlers.idl",
"storage.json",
"virtual_keyboard.idl",
"virtual_keyboard_private.json",
]
}
extensions_api_schema_files =
get_path_info(extensions_api_schema_files_, "abspath")
extensions_types_only_schema_files =
get_path_info(extensions_types_only_schema_files_, "abspath")
extensions_api_uncompiled_sources =
get_path_info([ "web_request_internal.json" ], "abspath")
extensions_api_uncompiled_bundle_schema_sources =
get_path_info([
"declarative_web_request.json",
"web_view_request.json",
],
"abspath")
extensions_api_root_namespace = "extensions::api::%(namespace)s"