# 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("//build/config/chromeos/ui_mode.gni") 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 = [ "async_api_function.cc", "async_api_function.h", # TODO(crbug.com/1206265): anything under storage/ should be moved out of # this target. "storage/backend_task_runner.cc", "storage/backend_task_runner.h", "storage/local_value_store_cache.cc", "storage/local_value_store_cache.h", "storage/session_storage_manager.cc", "storage/session_storage_manager.h", "storage/settings_observer.h", "storage/settings_storage_quota_enforcer.cc", "storage/settings_storage_quota_enforcer.h", "storage/storage_api.cc", "storage/storage_api.h", "storage/storage_area_namespace.cc", "storage/storage_area_namespace.h", "storage/storage_frontend.cc", "storage/storage_frontend.h", "storage/value_store_cache.cc", "storage/value_store_cache.h", "storage/weak_unlimited_settings_storage.cc", "storage/weak_unlimited_settings_storage.h", ] public_deps = [ "//base", "//content/public/browser", "//content/public/common", "//extensions/common", "//extensions/common/api", "//ipc", ] deps = [ "//base:i18n", "//build:chromeos_buildflags", "//components/keyed_service/content:content", "//extensions/browser:browser_sources", "//extensions/common:mojom", "//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/bluetooth", ] if (is_chromeos) { sources += [ "clipboard/clipboard_api.cc", "clipboard/clipboard_api.h", ] deps += [ "//chromeos/dbus/permission_broker", "//components/prefs:prefs", "//ui/base/clipboard", ] } if (is_chromeos_ash) { 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", ] deps += [ "//chromeos", "//chromeos/dbus", "//chromeos/dbus/media_analytics", "//chromeos/dbus/media_analytics:media_perception_proto", "//chromeos/dbus/upstart", "//chromeos/login/login_state", "//chromeos/services/media_perception/public/mojom", "//chromeos/services/media_perception/public/mojom:mojom_js_data_deps", ] } allow_circular_includes_from = [ "//extensions/browser:browser_sources" ] } group("api_implementations") { public_deps = [ "//extensions/browser:browser_sources", "//extensions/browser/api", "//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/automation_internal", "//extensions/browser/api/bluetooth", "//extensions/browser/api/bluetooth_low_energy", "//extensions/browser/api/bluetooth_socket", "//extensions/browser/api/dns", "//extensions/browser/api/feedback_private", "//extensions/browser/api/file_handlers", "//extensions/browser/api/file_system", "//extensions/browser/api/idle", "//extensions/browser/api/management", "//extensions/browser/api/messaging", "//extensions/browser/api/messaging:native_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/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/system_cpu", "//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/virtual_keyboard_private", ] if (is_chromeos_ash) { public_deps += [ "//extensions/browser/api/cec_private", "//extensions/browser/api/diagnostics", "//extensions/browser/api/virtual_keyboard", "//extensions/browser/api/vpn_provider", "//extensions/browser/api/webcam_private", ] } if (use_qt) { public_deps -= [ "//extensions/browser/api/bluetooth", "//extensions/browser/api/bluetooth_low_energy", "//extensions/browser/api/bluetooth_socket", "//extensions/browser/api/feedback_private", ] } } 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", ] }