# Copyright 2016 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//extensions/common/api/schema.gni") import("//extensions/buildflags/buildflags.gni") import("//tools/json_schema_compiler/json_schema_api.gni") assert(enable_extensions, "Cannot depend on extensions because enable_extensions=false.") source_set("api") { sources = [ "api_resource.cc", "api_resource.h", "api_resource_manager.h", "async_api_function.cc", "async_api_function.h", "device_permissions_manager.cc", "device_permissions_manager.h", "device_permissions_prompt.cc", "device_permissions_prompt.h", "execute_code_function.cc", "execute_code_function.h", "extensions_api_client.cc", "extensions_api_client.h", "guest_view/app_view/app_view_guest_internal_api.cc", "guest_view/app_view/app_view_guest_internal_api.h", "guest_view/extension_view/extension_view_internal_api.cc", "guest_view/extension_view/extension_view_internal_api.h", "guest_view/guest_view_internal_api.cc", "guest_view/guest_view_internal_api.h", "guest_view/web_view/web_view_internal_api.cc", "guest_view/web_view/web_view_internal_api.h", "web_contents_capture_client.cc", "web_contents_capture_client.h", ] public_deps = [ "//base", "//content/public/browser", "//content/public/common", "//extensions/browser/api/activity_log", "//extensions/browser/api/alarms", "//extensions/browser/api/app_current_window_internal", "//extensions/browser/api/app_runtime", "//extensions/browser/api/app_window", "//extensions/browser/api/audio", "//extensions/browser/api/bluetooth", "//extensions/browser/api/bluetooth_low_energy", "//extensions/browser/api/bluetooth_socket", "//extensions/browser/api/cast_channel", "//extensions/browser/api/declarative", "//extensions/browser/api/declarative_content", "//extensions/browser/api/declarative_net_request", "//extensions/browser/api/declarative_webrequest", "//extensions/browser/api/display_source", "//extensions/browser/api/dns", "//extensions/browser/api/document_scan", "//extensions/browser/api/feedback_private", "//extensions/browser/api/file_handlers", "//extensions/browser/api/file_system", "//extensions/browser/api/hid", "//extensions/browser/api/idle", "//extensions/browser/api/management", "//extensions/browser/api/messaging", "//extensions/browser/api/metrics_private", "//extensions/browser/api/mime_handler_private", "//extensions/browser/api/networking_private", "//extensions/browser/api/power", "//extensions/browser/api/printer_provider", "//extensions/browser/api/printer_provider_internal", "//extensions/browser/api/runtime", "//extensions/browser/api/serial", "//extensions/browser/api/socket", "//extensions/browser/api/sockets_tcp", "//extensions/browser/api/sockets_tcp_server", "//extensions/browser/api/sockets_udp", "//extensions/browser/api/storage", "//extensions/browser/api/system_cpu", "//extensions/browser/api/system_display", "//extensions/browser/api/system_info", "//extensions/browser/api/system_memory", "//extensions/browser/api/system_network", "//extensions/browser/api/system_storage", "//extensions/browser/api/test", "//extensions/browser/api/usb", "//extensions/browser/api/virtual_keyboard_private", "//extensions/browser/api/web_request", "//extensions/common", "//ipc", ] deps = [ "//base:i18n", "//components/keyed_service/content:content", "//extensions/browser:browser_sources", "//extensions/common/api", "//extensions/strings", "//services/device/public/cpp/hid", "//services/device/public/mojom", ] # TODO(michaelpg): Move these deps to the individual APIs that require them. deps += [ "//components/onc", "//components/storage_monitor", "//device/base", "//device/bluetooth", ] if (is_chromeos) { sources += [ "lock_screen_data/data_item.cc", "lock_screen_data/data_item.h", "lock_screen_data/lock_screen_data_api.cc", "lock_screen_data/lock_screen_data_api.h", "lock_screen_data/lock_screen_item_storage.cc", "lock_screen_data/lock_screen_item_storage.h", "lock_screen_data/lock_screen_value_store_migrator.h", "lock_screen_data/lock_screen_value_store_migrator_impl.cc", "lock_screen_data/lock_screen_value_store_migrator_impl.h", "lock_screen_data/operation_result.h", "media_perception_private/conversion_utils.cc", "media_perception_private/conversion_utils.h", "media_perception_private/media_perception_api_delegate.h", "media_perception_private/media_perception_api_manager.cc", "media_perception_private/media_perception_api_manager.h", "media_perception_private/media_perception_private_api.cc", "media_perception_private/media_perception_private_api.h", ] public_deps += [ "//extensions/browser/api/cec_private", "//extensions/browser/api/clipboard", "//extensions/browser/api/diagnostics", "//extensions/browser/api/networking_config", "//extensions/browser/api/virtual_keyboard", "//extensions/browser/api/vpn_provider", "//extensions/browser/api/webcam_private", ] deps += [ "//chromeos", "//chromeos:media_perception_proto", ] } } json_schema_api("api_registration") { sources = extensions_api_schema_files impl_dir = "//extensions/browser/api" bundle_registration = true bundle_name = "" root_namespace = extensions_api_root_namespace uncompiled_sources = extensions_api_uncompiled_sources deps = [ ":api", "//extensions/common/api", "//skia", ] }