| OLD | NEW |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 { | 5 { |
| 6 # All files are stored in these lists which are referenced in the target |
| 7 # below so that the GN build of this target can read in this dictionary and |
| 8 # duplicate the same logic without the lists getting out-of-sync. The GN |
| 9 # .gypi reader can not process conditions and does not know about targets, |
| 10 # etc., it just reads Python dictionaries. |
| 11 # |
| 12 # In addition, the GN build treats .idl files and .json files separately, |
| 13 # since they run through different scripts. If you add a new category, also |
| 14 # add it to the BUILD.gn file in this directory. |
| 15 'variables': { |
| 16 # These duplicate other lists and are the only ones used on Android. They |
| 17 # should be eliminated. See crbug.com/305852. |
| 18 'android_schema_files_idl': [ |
| 19 'file_system.idl', |
| 20 'sync_file_system.idl', |
| 21 'tab_capture.idl', |
| 22 ], |
| 23 'android_schema_files_json': [ |
| 24 'activity_log_private.json', |
| 25 'events.json', |
| 26 'manifest_types.json', |
| 27 'permissions.json', |
| 28 'tabs.json', |
| 29 'types.json', |
| 30 'webview.json', |
| 31 'web_navigation.json', |
| 32 'windows.json', |
| 33 ], |
| 34 |
| 35 # These are used everywhere except Android. |
| 36 'main_schema_files_idl': [ |
| 37 'alarms.idl', |
| 38 'app_current_window_internal.idl', |
| 39 'app_window.idl', |
| 40 'audio.idl', |
| 41 'automation_internal.idl', |
| 42 'automation.idl', |
| 43 'autotest_private.idl', |
| 44 'bluetooth.idl', |
| 45 'bluetooth_low_energy.idl', |
| 46 'bluetooth_socket.idl', |
| 47 'browser.idl', |
| 48 'braille_display_private.idl', |
| 49 'cast_channel.idl', |
| 50 'developer_private.idl', |
| 51 'dial.idl', |
| 52 'downloads.idl', |
| 53 'downloads_internal.idl', |
| 54 'feedback_private.idl', |
| 55 'file_browser_private.idl', |
| 56 'file_browser_private_internal.idl', |
| 57 'file_system.idl', |
| 58 'file_system_provider.idl', |
| 59 'file_system_provider_internal.idl', |
| 60 'gcd_private.idl', |
| 61 'hangouts_private.idl', |
| 62 'hid.idl', |
| 63 'hotword_private.idl', |
| 64 'identity.idl', |
| 65 'identity_private.idl', |
| 66 'image_writer_private.idl', |
| 67 'location.idl', |
| 68 'mdns.idl', |
| 69 'media_galleries.idl', |
| 70 'media_galleries_private.idl', |
| 71 'notifications.idl', |
| 72 'power.idl', |
| 73 'push_messaging.idl', |
| 74 'screenlock_private.idl', |
| 75 'serial.idl', |
| 76 'signed_in_devices.idl', |
| 77 'streams_private.idl', |
| 78 'sync_file_system.idl', |
| 79 'synced_notifications_private.idl', |
| 80 'system_cpu.idl', |
| 81 'system_display.idl', |
| 82 'system_indicator.idl', |
| 83 'system_memory.idl', |
| 84 'system_network.idl', |
| 85 'system_storage.idl', |
| 86 'tab_capture.idl', |
| 87 # Despite the name, this API does not rely on any |
| 88 # WebRTC-specific bits and as such does not belong in |
| 89 # the enable_webrtc=0 section below. |
| 90 'webrtc_audio_private.idl', |
| 91 'webrtc_logging_private.idl', |
| 92 ], |
| 93 'main_schema_files_json': [ |
| 94 'accessibility_private.json', |
| 95 'activity_log_private.json', |
| 96 'bluetooth_private.json', |
| 97 'bookmark_manager_private.json', |
| 98 'bookmarks.json', |
| 99 'cloud_print_private.json', |
| 100 'command_line_private.json', |
| 101 'content_settings.json', |
| 102 'context_menus.json', |
| 103 'context_menus_internal.json', |
| 104 'cookies.json', |
| 105 'debugger.json', |
| 106 'desktop_capture.json', |
| 107 'echo_private.json', |
| 108 'enterprise_platform_keys_private.json', |
| 109 'events.json', |
| 110 'font_settings.json', |
| 111 'gcm.json', |
| 112 'guest_view_internal.json', |
| 113 'history.json', |
| 114 'i18n.json', |
| 115 'idle.json', |
| 116 'input_ime.json', |
| 117 'management.json', |
| 118 'manifest_types.json', |
| 119 'metrics_private.json', |
| 120 'networking_private.json', |
| 121 'omnibox.json', |
| 122 'page_capture.json', |
| 123 'permissions.json', |
| 124 'preferences_private.json', |
| 125 'reading_list_private.json', |
| 126 'sessions.json', |
| 127 'system_private.json', |
| 128 'tabs.json', |
| 129 'terminal_private.json', |
| 130 'types.json', |
| 131 'virtual_keyboard_private.json', |
| 132 'web_navigation.json', |
| 133 'web_request.json', |
| 134 'webstore_private.json', |
| 135 'webview.json', |
| 136 'windows.json', |
| 137 ], |
| 138 # The non-compiled shcema files don't need to be separated out by type |
| 139 # since they're only given to the bundle script which doesn't care about |
| 140 # type. |
| 141 'main_non_compiled_schema_files': [ |
| 142 'browsing_data.json', |
| 143 'chromeos_info_private.json', |
| 144 'extension.json', |
| 145 'idltest.idl', |
| 146 'infobars.json', |
| 147 'media_player_private.json', |
| 148 'music_manager_private.idl', |
| 149 'principals_private.idl', |
| 150 'top_sites.json', |
| 151 'web_request_internal.json', |
| 152 ], |
| 153 |
| 154 # ChromeOS-specific schemas. |
| 155 'chromeos_schema_files_idl': [ |
| 156 'diagnostics.idl', |
| 157 'enterprise_platform_keys.idl', |
| 158 'enterprise_platform_keys_internal.idl', |
| 159 'log_private.idl', |
| 160 'webcam_private.idl', |
| 161 ], |
| 162 'chromeos_schema_files_json': [ |
| 163 'accessibility_features.json', |
| 164 'file_browser_handler_internal.json', |
| 165 'first_run_private.json', |
| 166 'wallpaper.json', |
| 167 'wallpaper_private.json', |
| 168 ], |
| 169 'chromeos_branded_schema_files_idl': [ |
| 170 'ledger/ledger.idl', |
| 171 ], |
| 172 |
| 173 'webrtc_schema_files_idl': [ |
| 174 'cast_streaming_rtp_stream.idl', |
| 175 'cast_streaming_session.idl', |
| 176 'cast_streaming_udp_transport.idl', |
| 177 ], |
| 178 }, |
| 6 'targets': [ | 179 'targets': [ |
| 7 { | 180 { |
| 8 'target_name': 'chrome_api', | 181 'target_name': 'chrome_api', |
| 9 'type': 'static_library', | 182 'type': 'static_library', |
| 10 'sources': [ | 183 'sources': [ |
| 11 '<@(schema_files)', | 184 '<@(schema_files)', |
| 12 ], | 185 ], |
| 13 # TODO(jschuh): http://crbug.com/167187 size_t -> int | 186 # TODO(jschuh): http://crbug.com/167187 size_t -> int |
| 14 'msvs_disabled_warnings': [ 4267 ], | 187 'msvs_disabled_warnings': [ 4267 ], |
| 15 'includes': [ | 188 'includes': [ |
| 16 '../../../../build/json_schema_bundle_compile.gypi', | 189 '../../../../build/json_schema_bundle_compile.gypi', |
| 17 '../../../../build/json_schema_compile.gypi', | 190 '../../../../build/json_schema_compile.gypi', |
| 18 ], | 191 ], |
| 19 'variables': { | 192 'variables': { |
| 20 'chromium_code': 1, | 193 'chromium_code': 1, |
| 21 # Disable schema compiler to generate model extension API code. | 194 # Disable schema compiler to generate model extension API code. |
| 22 # Only register the extension functions in extension system. | 195 # Only register the extension functions in extension system. |
| 23 'conditions': [ | 196 'conditions': [ |
| 24 ['OS!="android"', { | 197 ['OS!="android"', { |
| 25 'non_compiled_schema_files': [ | 198 'non_compiled_schema_files': [ |
| 26 'browsing_data.json', | 199 '<@(main_non_compiled_schema_files)', |
| 27 'chromeos_info_private.json', | |
| 28 'extension.json', | |
| 29 'idltest.idl', | |
| 30 'infobars.json', | |
| 31 'media_player_private.json', | |
| 32 'music_manager_private.idl', | |
| 33 'principals_private.idl', | |
| 34 'top_sites.json', | |
| 35 'web_request_internal.json', | |
| 36 ], | 200 ], |
| 37 'schema_files': [ | 201 'schema_files': [ |
| 38 'accessibility_private.json', | 202 '<@(main_schema_files_idl)', |
| 39 'activity_log_private.json', | 203 '<@(main_schema_files_json)', |
| 40 'alarms.idl', | |
| 41 'app_current_window_internal.idl', | |
| 42 'app_window.idl', | |
| 43 'audio.idl', | |
| 44 'automation_internal.idl', | |
| 45 'automation.idl', | |
| 46 'autotest_private.idl', | |
| 47 'bluetooth.idl', | |
| 48 'bluetooth_low_energy.idl', | |
| 49 'bluetooth_private.json', | |
| 50 'bluetooth_socket.idl', | |
| 51 'bookmark_manager_private.json', | |
| 52 'bookmarks.json', | |
| 53 'browser.idl', | |
| 54 'braille_display_private.idl', | |
| 55 'cast_channel.idl', | |
| 56 'cloud_print_private.json', | |
| 57 'command_line_private.json', | |
| 58 'content_settings.json', | |
| 59 'context_menus.json', | |
| 60 'context_menus_internal.json', | |
| 61 'cookies.json', | |
| 62 'debugger.json', | |
| 63 'desktop_capture.json', | |
| 64 'developer_private.idl', | |
| 65 'dial.idl', | |
| 66 'downloads.idl', | |
| 67 'downloads_internal.idl', | |
| 68 'echo_private.json', | |
| 69 'enterprise_platform_keys_private.json', | |
| 70 'events.json', | |
| 71 'feedback_private.idl', | |
| 72 'file_browser_private.idl', | |
| 73 'file_browser_private_internal.idl', | |
| 74 'file_system.idl', | |
| 75 'file_system_provider.idl', | |
| 76 'file_system_provider_internal.idl', | |
| 77 'font_settings.json', | |
| 78 'gcd_private.idl', | |
| 79 'gcm.json', | |
| 80 'guest_view_internal.json', | |
| 81 'hangouts_private.idl', | |
| 82 'hid.idl', | |
| 83 'history.json', | |
| 84 'hotword_private.idl', | |
| 85 'i18n.json', | |
| 86 'identity.idl', | |
| 87 'identity_private.idl', | |
| 88 'idle.json', | |
| 89 'image_writer_private.idl', | |
| 90 'input_ime.json', | |
| 91 'location.idl', | |
| 92 'management.json', | |
| 93 'manifest_types.json', | |
| 94 'mdns.idl', | |
| 95 'media_galleries.idl', | |
| 96 'media_galleries_private.idl', | |
| 97 'metrics_private.json', | |
| 98 'networking_private.json', | |
| 99 'notifications.idl', | |
| 100 'omnibox.json', | |
| 101 'page_capture.json', | |
| 102 'permissions.json', | |
| 103 'preferences_private.json', | |
| 104 'power.idl', | |
| 105 'push_messaging.idl', | |
| 106 'reading_list_private.json', | |
| 107 'screenlock_private.idl', | |
| 108 'serial.idl', | |
| 109 'sessions.json', | |
| 110 'signed_in_devices.idl', | |
| 111 'streams_private.idl', | |
| 112 'sync_file_system.idl', | |
| 113 'synced_notifications_private.idl', | |
| 114 'system_cpu.idl', | |
| 115 'system_display.idl', | |
| 116 'system_indicator.idl', | |
| 117 'system_memory.idl', | |
| 118 'system_network.idl', | |
| 119 'system_private.json', | |
| 120 'system_storage.idl', | |
| 121 'tab_capture.idl', | |
| 122 'tabs.json', | |
| 123 'terminal_private.json', | |
| 124 'types.json', | |
| 125 'virtual_keyboard_private.json', | |
| 126 'web_navigation.json', | |
| 127 'web_request.json', | |
| 128 # Despite the name, this API does not rely on any | |
| 129 # WebRTC-specific bits and as such does not belong in | |
| 130 # the enable_webrtc=0 section below. | |
| 131 'webrtc_audio_private.idl', | |
| 132 'webrtc_logging_private.idl', | |
| 133 'webstore_private.json', | |
| 134 'webview.json', | |
| 135 'windows.json', | |
| 136 ], | 204 ], |
| 137 }, { # OS=="android" | 205 }, { # OS=="android" |
| 138 'non_compiled_schema_files': [ | 206 'non_compiled_schema_files': [ |
| 139 ], | 207 ], |
| 140 'schema_files': [ | 208 'schema_files': [ |
| 141 # These should be eliminated. See crbug.com/305852. | 209 # These should be eliminated. See crbug.com/305852. |
| 142 'activity_log_private.json', | 210 '<@(android_schema_files_idl)', |
| 143 'events.json', | 211 '<@(android_schema_files_json)', |
| 144 'file_system.idl', | |
| 145 'manifest_types.json', | |
| 146 'permissions.json', | |
| 147 'sync_file_system.idl', | |
| 148 'tab_capture.idl', | |
| 149 'tabs.json', | |
| 150 'types.json', | |
| 151 'webview.json', | |
| 152 'web_navigation.json', | |
| 153 'windows.json', | |
| 154 ], | 212 ], |
| 155 }], | 213 }], |
| 156 ['chromeos==1', { | 214 ['chromeos==1', { |
| 157 'schema_files': [ | 215 'schema_files': [ |
| 158 'accessibility_features.json', | 216 '<@(chromeos_schema_files_idl)', |
| 159 'diagnostics.idl', | 217 '<@(chromeos_schema_files_json)', |
| 160 'enterprise_platform_keys.idl', | |
| 161 'enterprise_platform_keys_internal.idl', | |
| 162 'file_browser_handler_internal.json', | |
| 163 'first_run_private.json', | |
| 164 'log_private.idl', | |
| 165 'wallpaper.json', | |
| 166 'wallpaper_private.json', | |
| 167 'webcam_private.idl', | |
| 168 ], | 218 ], |
| 169 }], | 219 }], |
| 170 ['enable_webrtc==1', { | 220 ['enable_webrtc==1', { |
| 171 'schema_files': [ | 221 'schema_files': [ |
| 172 'cast_streaming_rtp_stream.idl', | 222 '<@(webrtc_schema_files_idl)', |
| 173 'cast_streaming_session.idl', | |
| 174 'cast_streaming_udp_transport.idl', | |
| 175 ], | 223 ], |
| 176 }], | 224 }], |
| 177 ['branding=="Chrome" and chromeos==1', { | 225 ['branding=="Chrome" and chromeos==1', { |
| 178 'schema_files': [ | 226 'schema_files': [ |
| 179 'ledger/ledger.idl', | 227 '<@(chromeos_branded_schema_files_idl)', |
| 180 ], | 228 ], |
| 181 }], | 229 }], |
| 182 ], | 230 ], |
| 183 'cc_dir': 'chrome/common/extensions/api', | 231 'cc_dir': 'chrome/common/extensions/api', |
| 184 'root_namespace': 'extensions::api', | 232 'root_namespace': 'extensions::api', |
| 185 }, | 233 }, |
| 186 'dependencies': [ | 234 'dependencies': [ |
| 187 '<(DEPTH)/content/content.gyp:content_browser', | 235 '<(DEPTH)/content/content.gyp:content_browser', |
| 188 '<(DEPTH)/skia/skia.gyp:skia', | 236 '<(DEPTH)/skia/skia.gyp:skia', |
| 189 '<(DEPTH)/sync/sync.gyp:sync', | 237 '<(DEPTH)/sync/sync.gyp:sync', |
| 190 ], | 238 ], |
| 191 'conditions': [ | 239 'conditions': [ |
| 192 ['chromeos==1', { | 240 ['chromeos==1', { |
| 193 'dependencies': [ | 241 'dependencies': [ |
| 194 '<(DEPTH)/chrome/chrome.gyp:drive_proto', | 242 '<(DEPTH)/chrome/chrome.gyp:drive_proto', |
| 195 ], | 243 ], |
| 196 }], | 244 }], |
| 197 ], | 245 ], |
| 198 }, | 246 }, |
| 199 ], | 247 ], |
| 200 } | 248 } |
| OLD | NEW |