| # 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_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/value_store_util.cc", |
| "storage/value_store_util.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) { |
| 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/ash/components/dbus/media_analytics", |
| "//chromeos/ash/components/dbus/media_analytics:media_perception_proto", |
| "//chromeos/ash/components/dbus/upstart", |
| "//chromeos/dbus", |
| "//chromeos/login/login_state", |
| "//chromeos/services/media_perception/public/mojom", |
| "//chromeos/services/media_perception/public/mojom:mojom_js_data_deps", |
| ] |
| } |
| } |
| |
| 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/i18n", |
| "//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/offscreen", |
| "//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) { |
| public_deps += [ "//extensions/browser/api/virtual_keyboard" ] |
| } |
| |
| if (is_chromeos_ash) { |
| public_deps += [ |
| "//extensions/browser/api/cec_private", |
| "//extensions/browser/api/diagnostics", |
| "//extensions/browser/api/webcam_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", |
| ] |
| } |