| Index: chrome/common/extensions/api/api.gyp
|
| diff --git a/chrome/common/extensions/api/api.gyp b/chrome/common/extensions/api/api.gyp
|
| index 19b28fa7449c0da383b8996e380032c30e0df98e..ef1a2c5f5515b187ea4e931821829f966e268615 100644
|
| --- a/chrome/common/extensions/api/api.gyp
|
| +++ b/chrome/common/extensions/api/api.gyp
|
| @@ -3,6 +3,160 @@
|
| # found in the LICENSE file.
|
|
|
| {
|
| + # All files are stored in these lists which are referenced in the target
|
| + # below so that the GN build of this target can read in this dictionary and
|
| + # duplicate the same logic without the lists getting out-of-sync. The GN
|
| + # .gypi reader can not process conditions and does not know about targets,
|
| + # etc., it just reads Python dictionaries.
|
| + #
|
| + # If you add a new category, also add it to the BUILD.gn file in this
|
| + # directory.
|
| + 'variables': {
|
| + # These duplicate other lists and are the only ones used on Android. They
|
| + # should be eliminated. See crbug.com/305852.
|
| + 'android_schema_files': [
|
| + 'manifest_types.json',
|
| + ],
|
| +
|
| + # These are used everywhere except Android.
|
| + 'main_schema_files': [
|
| + 'accessibility_private.json',
|
| + 'activity_log_private.json',
|
| + 'alarms.idl',
|
| + 'app_current_window_internal.idl',
|
| + 'app_window.idl',
|
| + 'audio.idl',
|
| + 'automation.idl',
|
| + 'automation_internal.idl',
|
| + 'autotest_private.idl',
|
| + 'bluetooth.idl',
|
| + 'bluetooth_low_energy.idl',
|
| + 'bluetooth_private.json',
|
| + 'bluetooth_socket.idl',
|
| + 'bookmark_manager_private.json',
|
| + 'bookmarks.json',
|
| + 'braille_display_private.idl',
|
| + 'browser.idl',
|
| + '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',
|
| + 'debugger.json',
|
| + 'desktop_capture.json',
|
| + 'developer_private.idl',
|
| + 'dial.idl',
|
| + 'downloads.idl',
|
| + 'downloads_internal.idl',
|
| + 'easy_unlock_private.idl',
|
| + 'echo_private.json',
|
| + 'enterprise_platform_keys_private.json',
|
| + 'events.json',
|
| + 'experience_sampling_private.json',
|
| + 'extension_options_internal.idl',
|
| + 'feedback_private.idl',
|
| + 'file_browser_private.idl',
|
| + 'file_browser_private_internal.idl',
|
| + 'file_system.idl',
|
| + 'file_system_provider.idl',
|
| + 'file_system_provider_internal.idl',
|
| + 'font_settings.json',
|
| + 'gcd_private.idl',
|
| + 'gcm.json',
|
| + 'guest_view_internal.json',
|
| + 'hangouts_private.idl',
|
| + 'history.json',
|
| + 'hotword_private.idl',
|
| + 'i18n.json',
|
| + 'identity.idl',
|
| + 'identity_private.idl',
|
| + 'idle.json',
|
| + 'image_writer_private.idl',
|
| + 'input_ime.json',
|
| + 'location.idl',
|
| + 'management.json',
|
| + 'manifest_types.json',
|
| + 'mdns.idl',
|
| + 'media_galleries.idl',
|
| + 'media_galleries_private.idl',
|
| + 'metrics_private.json',
|
| + 'networking_private.json',
|
| + 'notification_provider.idl',
|
| + 'notifications.idl',
|
| + 'omnibox.json',
|
| + 'page_capture.json',
|
| + 'permissions.json',
|
| + 'preferences_private.json',
|
| + 'push_messaging.idl',
|
| + 'reading_list_private.json',
|
| + 'screenlock_private.idl',
|
| + 'sessions.json',
|
| + 'signed_in_devices.idl',
|
| + 'streams_private.idl',
|
| + 'synced_notifications_private.idl',
|
| + 'sync_file_system.idl',
|
| + 'system_cpu.idl',
|
| + 'system_display.idl',
|
| + 'system_indicator.idl',
|
| + 'system_memory.idl',
|
| + 'system_network.idl',
|
| + 'system_private.json',
|
| + 'system_storage.idl',
|
| + 'tab_capture.idl',
|
| + 'tabs.json',
|
| + 'terminal_private.json',
|
| + 'types.json',
|
| + 'virtual_keyboard_private.json',
|
| + 'web_navigation.json',
|
| + 'web_request.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_logging_private.idl',
|
| + 'webstore_private.json',
|
| + 'web_view_internal.json',
|
| + 'windows.json',
|
| + ],
|
| + 'main_non_compiled_schema_files': [
|
| + 'browsing_data.json',
|
| + 'chromeos_info_private.json',
|
| + 'extension.json',
|
| + 'idltest.idl',
|
| + 'infobars.json',
|
| + 'media_player_private.json',
|
| + 'music_manager_private.idl',
|
| + 'principals_private.idl',
|
| + 'top_sites.json',
|
| + 'web_request_internal.json',
|
| + ],
|
| +
|
| + # ChromeOS-specific schemas.
|
| + 'chromeos_schema_files': [
|
| + 'accessibility_features.json',
|
| + 'diagnostics.idl',
|
| + 'enterprise_platform_keys.idl',
|
| + 'enterprise_platform_keys_internal.idl',
|
| + 'file_browser_handler_internal.json',
|
| + 'first_run_private.json',
|
| + 'log_private.idl',
|
| + 'wallpaper.json',
|
| + 'wallpaper_private.json',
|
| + 'webcam_private.idl',
|
| + ],
|
| + 'chromeos_branded_schema_files': [
|
| + 'ledger/ledger.idl',
|
| + ],
|
| +
|
| + 'webrtc_schema_files': [
|
| + 'cast_streaming_rtp_stream.idl',
|
| + 'cast_streaming_session.idl',
|
| + 'cast_streaming_udp_transport.idl',
|
| + ],
|
| + },
|
| 'targets': [
|
| {
|
| # GN version: //chrome/common/extensions/api:api
|
| @@ -16,7 +170,62 @@
|
| 'includes': [
|
| '../../../../build/json_schema_bundle_compile.gypi',
|
| '../../../../build/json_schema_compile.gypi',
|
| - 'schemas.gypi',
|
| + ],
|
| + 'variables': {
|
| + 'chromium_code': 1,
|
| + # Disable schema compiler to generate model extension API code.
|
| + # Only register the extension functions in extension system.
|
| + 'conditions': [
|
| + ['enable_extensions==1', {
|
| + 'non_compiled_schema_files': [
|
| + '<@(main_non_compiled_schema_files)',
|
| + ],
|
| + 'schema_files': [
|
| + '<@(main_schema_files)',
|
| + ],
|
| + }, { # enable_extensions==0
|
| + 'non_compiled_schema_files': [
|
| + ],
|
| + 'schema_files': [
|
| + # These should be eliminated. See crbug.com/305852.
|
| + '<@(android_schema_files)',
|
| + ],
|
| + }],
|
| + ['chromeos==1', {
|
| + 'schema_files': [
|
| + '<@(chromeos_schema_files)',
|
| + ],
|
| + }],
|
| + ['enable_extensions==1 and enable_webrtc==1', {
|
| + 'schema_files': [
|
| + '<@(webrtc_schema_files)',
|
| + ],
|
| + }],
|
| + ['branding=="Chrome" and chromeos==1', {
|
| + 'schema_files': [
|
| + '<@(chromeos_branded_schema_files)',
|
| + ],
|
| + }],
|
| + ],
|
| + 'cc_dir': 'chrome/common/extensions/api',
|
| + 'root_namespace': 'extensions::api::%(namespace)s',
|
| + },
|
| + 'dependencies': [
|
| + # Different APIs include some headers from chrome/common that in turn
|
| + # include generated headers from these targets.
|
| + # TODO(brettw) this should be made unnecessary if possible.
|
| + '<(DEPTH)/components/components.gyp:component_metrics_proto',
|
| +
|
| + '<(DEPTH)/content/content.gyp:content_browser',
|
| + '<(DEPTH)/skia/skia.gyp:skia',
|
| + '<(DEPTH)/sync/sync.gyp:sync',
|
| + ],
|
| + 'conditions': [
|
| + ['chromeos==1', {
|
| + 'dependencies': [
|
| + '<(DEPTH)/chrome/chrome.gyp:drive_proto',
|
| + ],
|
| + }],
|
| ],
|
| },
|
| ],
|
|
|