blob: 39d61035f24c511c0cd53324201aa79ec8d37f99 [file] [log] [blame]
# Copyright 2014 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.
{
'sources': [
'<@(schema_files)',
],
'variables': {
'main_schema_files': [
'accessibility_features.json',
'accessibility_private.json',
'activity_log_private.json',
'audio_modem.idl',
'autofill_private.idl',
'automation.idl',
'automation_internal.idl',
'autotest_private.idl',
'bluetooth_low_energy.idl',
'bookmark_manager_private.json',
'bookmarks.json',
'braille_display_private.idl',
'browser.idl',
'chrome_web_view_internal.json',
'cloud_print_private.json',
'command_line_private.json',
'content_settings.json',
'context_menus_internal.json',
'context_menus.json',
'cookies.json',
'copresence.idl',
'copresence_private.idl',
'cryptotoken_private.idl',
'dashboard_private.json',
'data_reduction_proxy.json',
'debugger.json',
'desktop_capture.json',
'developer_private.idl',
'dial.idl',
'downloads.idl',
'downloads_internal.idl',
'easy_unlock_private.idl',
'experience_sampling_private.json',
'feedback_private.idl',
'file_system.idl',
'font_settings.json',
'gcm.json',
'hangouts_private.idl',
'history.json',
'hotword_private.idl',
'i18n.json',
'identity.idl',
'identity_private.idl',
'image_writer_private.idl',
'inline_install_private.idl',
'instance_id.json',
'language_settings_private.idl',
'launcher_page.idl',
'manifest_types.json',
'media_galleries.idl',
'metrics_private.json',
'notification_provider.idl',
'notifications.idl',
'omnibox.json',
'page_capture.json',
'passwords_private.idl',
'permissions.json',
'preferences_private.json',
'resources_private.idl',
'screenlock_private.idl',
'sessions.json',
'settings_private.idl',
'signed_in_devices.idl',
'streams_private.idl',
'sync_file_system.idl',
'system_indicator.idl',
'system_private.json',
'tab_capture.idl',
'tabs.json',
'types.json',
'web_navigation.json',
# Despite the name, this API does not rely on any
# WebRTC-specific bits and as such does not belong in
# the enable_webrtc==0 section below.
'webrtc_audio_private.idl',
'webrtc_desktop_capture_private.idl',
'webrtc_logging_private.idl',
'webstore_private.json',
'webstore_widget_private.idl',
'windows.json',
],
'main_schema_include_rules': [
'extensions/common/api:extensions::api::%(namespace)s',
],
'main_non_compiled_schema_files': [
'browsing_data.json',
'extension.json',
'idltest.idl',
'music_manager_private.idl',
'principals_private.idl',
'top_sites.json',
],
# ChromeOS-specific schemas.
'chromeos_schema_files': [
'cast_devices_private.idl',
'certificate_provider.idl',
'certificate_provider_internal.idl',
'echo_private.json',
'enterprise_device_attributes.idl',
'enterprise_platform_keys.idl',
'enterprise_platform_keys_internal.idl',
'enterprise_platform_keys_private.json',
'file_browser_handler_internal.json',
'file_manager_private.idl',
'file_manager_private_internal.idl',
'file_system_provider.idl',
'file_system_provider_internal.idl',
'first_run_private.json',
'input_ime.json',
'input_method_private.json',
'launcher_search_provider.idl',
'log_private.idl',
'platform_keys.idl',
'platform_keys_internal.idl',
'terminal_private.json',
'users_private.idl',
'wallpaper.json',
'wallpaper_private.json',
],
'chromeos_non_compiled_schema_files': [
'chromeos_info_private.json',
'media_player_private.json',
],
'service_discovery_schema_files': [
'gcd_private.idl',
'mdns.idl',
],
'webrtc_schema_files': [
'cast_streaming_receiver_session.idl',
'cast_streaming_rtp_stream.idl',
'cast_streaming_session.idl',
'cast_streaming_udp_transport.idl',
],
'task_manager_dependent_schema_files': [
'processes.idl',
],
# Input IME schema.
'input_ime_schema_file': [
'input_ime.json',
],
'non_compiled_schema_files': [
'<@(main_non_compiled_schema_files)',
],
'schema_dependencies': [
'<(DEPTH)/extensions/common/api/api.gyp:extensions_api',
],
'schema_files': [
'<@(main_schema_files)',
],
'schema_include_rules': [
'<@(main_schema_include_rules)',
],
'chromium_code': 1,
# Disable schema compiler to generate model extension API code.
# Only register the extension functions in extension system.
'conditions': [
['enable_task_manager==1', {
'schema_files': [
'<@(task_manager_dependent_schema_files)',
],
}],
['chromeos==1', {
'schema_files': [
'<@(chromeos_schema_files)',
],
'non_compiled_schema_files': [
'<@(chromeos_non_compiled_schema_files)',
],
}, { # chromeos==0
'conditions': [
['OS=="linux" or OS=="win"', {
'schema_files': [
'<@(input_ime_schema_file)',
],
}],
],
}],
['enable_service_discovery==1', {
'schema_files': [
'<@(service_discovery_schema_files)',
],
}],
['enable_webrtc==1', {
'schema_files': [
'<@(webrtc_schema_files)',
],
}],
],
'cc_dir': 'chrome/common/extensions/api',
'root_namespace': 'extensions::api::%(namespace)s',
'bundle_name': 'Chrome',
'impl_dir_': 'chrome/browser/extensions/api',
},
}