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 'desktop_capture.json',
33 'developer_private.idl',
36 'downloads_internal.idl',
37 'easy_unlock_private.idl',
39 'enterprise_platform_keys_private.json',
40 'experience_sampling_private.json',
41 'feedback_private.idl',
42 'file_manager_private.idl',
43 'file_manager_private_internal.idl',
45 'file_system_provider.idl',
46 'file_system_provider_internal.idl',
50 'hangouts_private.idl',
52 'hotword_private.idl',
55 'identity_private.idl',
57 'image_writer_private.idl',
61 'manifest_types.json',
63 'media_galleries.idl',
64 'media_galleries_private.idl',
65 'metrics_private.json',
66 'networking_private.json',
67 'notification_provider.idl',
72 'preferences_private.json',
74 'reading_list_private.json',
75 'screenlock_private.idl',
77 'signed_in_devices.idl',
78 'streams_private.idl',
79 'synced_notifications_private.idl',
80 'sync_file_system.idl',
81 'system_indicator.idl',
82 'system_private.json',
85 'terminal_private.json',
87 'virtual_keyboard_private.json',
88 'web_navigation.json',
89 # Despite the name, this API does not rely on any
90 # WebRTC-specific bits and as such does not belong in
91 # the enable_webrtc==0 section below.
92 'webrtc_audio_private.idl',
93 'webrtc_logging_private.idl',
94 'webstore_private.json',
97 'main_schema_include_rules': [
98 'extensions/common/api:extensions::core_api::%(namespace)s',
100 'main_non_compiled_schema_files': [
101 'browsing_data.json',
102 'chromeos_info_private.json',
106 'media_player_private.json',
107 'music_manager_private.idl',
108 'principals_private.idl',
112 # ChromeOS-specific schemas.
113 'chromeos_schema_files': [
114 'accessibility_features.json',
116 'enterprise_platform_keys.idl',
117 'enterprise_platform_keys_internal.idl',
118 'file_browser_handler_internal.json',
119 'first_run_private.json',
122 'wallpaper_private.json',
123 'webcam_private.idl',
126 'webrtc_schema_files': [
127 'cast_streaming_rtp_stream.idl',
128 'cast_streaming_session.idl',
129 'cast_streaming_udp_transport.idl',
133 # Disable schema compiler to generate model extension API code.
134 # Only register the extension functions in extension system.
136 # TODO(thestig): Remove this file from non-extensions build so the
137 # conditional and else branch goes away.
138 # Do the same for chrome/common/extensions/api/schemas.gni.
139 ['enable_extensions==1', {
140 'non_compiled_schema_files': [
141 '<@(main_non_compiled_schema_files)',
143 'schema_dependencies': [
144 '<(DEPTH)/extensions/common/api/api.gyp:extensions_api',
147 '<@(main_schema_files)',
149 'schema_include_rules': [
150 '<@(main_schema_include_rules)',
152 }, { # enable_extensions==0
153 'non_compiled_schema_files': [
155 'schema_dependencies': [
162 '<@(chromeos_schema_files)',
165 ['enable_extensions==1 and enable_webrtc==1', {
167 '<@(webrtc_schema_files)',
171 'cc_dir': 'chrome/common/extensions/api',
172 'root_namespace': 'extensions::api::%(namespace)s',
173 'impl_dir_': 'chrome/browser/extensions/api',