blob: 855f389c5603338018f21877b6bdf975d9969eff [file] [log] [blame]
# 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/buildflags/buildflags.gni")
import("//extensions/common/api/schema.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/system_power_source",
"//extensions/browser/api/virtual_keyboard",
"//extensions/browser/api/vpn_provider",
"//extensions/browser/api/webcam_private",
]
deps += [
"//chromeos",
"//chromeos/dbus",
"//chromeos/dbus:media_perception_proto",
"//chromeos/login/login_state",
"//chromeos/services/media_perception/public/mojom",
"//chromeos/services/media_perception/public/mojom:mojom_js_data_deps",
]
}
}
function_registration("api_registration") {
sources = extensions_api_schema_files + extensions_api_uncompiled_sources
impl_dir = "//extensions/browser/api"
bundle_name = ""
root_namespace = extensions_api_root_namespace
deps = [
":api",
"//extensions/common/api",
"//skia",
]
}