1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
10 'main_schema_files': [
11 'accessibility_private.json',
12 'activity_log_private.json',
16 'automation_internal.idl',
17 'autotest_private.idl',
18 'bookmark_manager_private.json',
20 'braille_display_private.idl',
22 'chrome_web_view_internal.json',
23 'cloud_print_private.json',
24 'command_line_private.json',
25 'content_settings.json',
26 'context_menus_internal.json',
30 'copresence_private.idl',
32 'developer_private.idl',
35 'downloads_internal.idl',
36 'easy_unlock_private.idl',
38 'enterprise_platform_keys_private.json',
39 'experience_sampling_private.json',
40 'feedback_private.idl',
41 'file_manager_private.idl',
42 'file_manager_private_internal.idl',
44 'file_system_provider.idl',
45 'file_system_provider_internal.idl',
49 'hangouts_private.idl',
51 'hotword_private.idl',
54 'identity_private.idl',
56 'image_writer_private.idl',
60 'manifest_types.json',
62 'media_galleries.idl',
63 'media_galleries_private.idl',
64 'metrics_private.json',
65 'networking_private.json',
66 'notification_provider.idl',
71 'preferences_private.json',
73 'reading_list_private.json',
74 'screenlock_private.idl',
75 'signed_in_devices.idl',
76 'streams_private.idl',
77 'synced_notifications_private.idl',
78 'sync_file_system.idl',
79 'system_indicator.idl',
80 'system_private.json',
81 'terminal_private.json',
83 'virtual_keyboard_private.json',
84 'web_navigation.json',
85 # Despite the name, this API does not rely on any
86 # WebRTC-specific bits and as such does not belong in
87 # the enable_webrtc==0 section below.
88 'webrtc_audio_private.idl',
89 'webrtc_logging_private.idl',
90 'webstore_private.json',
92 'main_schema_include_rules': [
93 'extensions/common/api:extensions::core_api::%(namespace)s',
95 'main_non_compiled_schema_files': [
97 'chromeos_info_private.json',
101 'media_player_private.json',
102 'music_manager_private.idl',
103 'principals_private.idl',
106 # APIs that are causing crashes on athena.
107 # TODO(oshima): Fix crashes and add them back. crbug.com/414340.
108 'non_athena_schema_files': [
109 'desktop_capture.json',
115 # ChromeOS-specific schemas.
116 'chromeos_schema_files': [
117 'accessibility_features.json',
119 'enterprise_platform_keys.idl',
120 'enterprise_platform_keys_internal.idl',
121 'file_browser_handler_internal.json',
122 'first_run_private.json',
125 'wallpaper_private.json',
126 'webcam_private.idl',
129 'webrtc_schema_files': [
130 'cast_streaming_rtp_stream.idl',
131 'cast_streaming_session.idl',
132 'cast_streaming_udp_transport.idl',
136 # Disable schema compiler to generate model extension API code.
137 # Only register the extension functions in extension system.
139 # TODO(thestig): Remove this file from non-extensions build so the
140 # conditional and else branch goes away.
141 # Do the same for chrome/common/extensions/api/schemas.gni.
142 ['enable_extensions==1', {
143 'non_compiled_schema_files': [
144 '<@(main_non_compiled_schema_files)',
146 'schema_dependencies': [
147 '<(DEPTH)/extensions/common/api/api.gyp:extensions_api',
150 '<@(main_schema_files)',
152 'schema_include_rules': [
153 '<@(main_schema_include_rules)',
155 }, { # enable_extensions==0
156 'non_compiled_schema_files': [
158 'schema_dependencies': [
165 '<@(chromeos_schema_files)',
170 '<@(non_athena_schema_files)',
173 ['enable_extensions==1 and enable_webrtc==1', {
175 '<@(webrtc_schema_files)',
179 'cc_dir': 'chrome/common/extensions/api',
180 'root_namespace': 'extensions::api::%(namespace)s',
181 'impl_dir_': 'chrome/browser/extensions/api',