| # 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_ = [ |
| "alarms.idl", |
| "declarative_net_request.idl", |
| "extension_types.json", |
| "file_handlers.idl", |
| "i18n.json", |
| "idle.json", |
| "management.json", |
| "metrics_private.json", |
| "offscreen.idl", |
| "power.idl", |
| "runtime.json", |
| "storage.json", |
| "system_cpu.idl", |
| "system_memory.idl", |
| "system_network.idl", |
| "test.json", |
| "web_request.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_mv2.idl", |
| "web_accessible_resources.idl", |
| ] |
| |
| # APIs that are not currently supported on the experimental desktop-android. |
| if (enable_extensions) { |
| extensions_api_schema_files_ += [ |
| "app_current_window_internal.idl", |
| "app_runtime.idl", |
| "app_view_guest_internal.json", |
| "app_window.idl", |
| "audio.idl", |
| "automation_internal.idl", |
| "automation.idl", |
| "bluetooth_low_energy.idl", |
| "bluetooth_private.idl", |
| "bluetooth_socket.idl", |
| "bluetooth.idl", |
| "cec_private.idl", |
| "clipboard.idl", |
| "dns.idl", |
| "events.json", |
| "extension_options_internal.idl", |
| "feedback_private.idl", |
| "file_system.idl", |
| "guest_view_internal.json", |
| "hid.idl", |
| "icon_variants.idl", |
| "mime_handler_private.idl", |
| "mime_handler_view_guest_internal.json", |
| "mojo_private.idl", |
| "networking_private.idl", |
| "printer_provider_internal.idl", |
| "printer_provider.idl", |
| "scripts_internal.idl", |
| "serial.idl", |
| "socket.idl", |
| "sockets_tcp_server.idl", |
| "sockets_tcp.idl", |
| "sockets_udp.idl", |
| "system_display.idl", |
| "system_storage.idl", |
| "types.json", |
| "usb.idl", |
| "user_scripts.idl", |
| "virtual_keyboard_private.json", |
| "virtual_keyboard.idl", |
| "web_view_internal.json", |
| ] |
| |
| if (is_chromeos) { |
| extensions_api_schema_files_ += [ |
| "diagnostics.idl", |
| "media_perception_private.idl", |
| "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_ += [ |
| "clipboard.idl", |
| "events.json", |
| "icon_variants.idl", |
| "scripts_internal.idl", |
| "system_display.idl", |
| "types.json", |
| "usb.idl", |
| "virtual_keyboard_private.json", |
| "virtual_keyboard.idl", |
| ] |
| } |
| |
| 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" |