# Copyright (c) 2018 GitHub, Inc. # Use of this source code is governed by the MIT license that can be # found in the LICENSE file. import("//build/config/ozone.gni") import("//build/config/ui.gni") import("//components/spellcheck/spellcheck_build_features.gni") import("//electron/buildflags/buildflags.gni") import("//printing/buildflags/buildflags.gni") import("//third_party/widevine/cdm/widevine.gni") # Builds some of the chrome sources that Electron depends on. static_library("chrome") { visibility = [ "//electron:electron_lib" ] sources = [ "//chrome/browser/accessibility/accessibility_ui.cc", "//chrome/browser/accessibility/accessibility_ui.h", "//chrome/browser/browser_process.cc", "//chrome/browser/browser_process.h", "//chrome/browser/devtools/devtools_contents_resizing_strategy.cc", "//chrome/browser/devtools/devtools_contents_resizing_strategy.h", "//chrome/browser/devtools/devtools_embedder_message_dispatcher.cc", "//chrome/browser/devtools/devtools_embedder_message_dispatcher.h", "//chrome/browser/devtools/devtools_file_system_indexer.cc", "//chrome/browser/devtools/devtools_file_system_indexer.h", "//chrome/browser/extensions/global_shortcut_listener.cc", "//chrome/browser/extensions/global_shortcut_listener.h", "//chrome/browser/icon_loader.cc", "//chrome/browser/icon_loader.h", "//chrome/browser/icon_manager.cc", "//chrome/browser/icon_manager.h", "//chrome/browser/net/chrome_mojo_proxy_resolver_factory.cc", "//chrome/browser/net/chrome_mojo_proxy_resolver_factory.h", "//chrome/browser/net/proxy_config_monitor.cc", "//chrome/browser/net/proxy_config_monitor.h", "//chrome/browser/net/proxy_service_factory.cc", "//chrome/browser/net/proxy_service_factory.h", "//chrome/browser/predictors/preconnect_manager.cc", "//chrome/browser/predictors/preconnect_manager.h", "//chrome/browser/predictors/predictors_features.cc", "//chrome/browser/predictors/predictors_features.h", "//chrome/browser/predictors/proxy_lookup_client_impl.cc", "//chrome/browser/predictors/proxy_lookup_client_impl.h", "//chrome/browser/predictors/resolve_host_client_impl.cc", "//chrome/browser/predictors/resolve_host_client_impl.h", "//chrome/browser/ui/views/autofill/autofill_popup_view_utils.cc", "//chrome/browser/ui/views/autofill/autofill_popup_view_utils.h", "//extensions/browser/app_window/size_constraints.cc", "//extensions/browser/app_window/size_constraints.h", ] if (is_mac) { sources += [ "//chrome/browser/extensions/global_shortcut_listener_mac.h", "//chrome/browser/extensions/global_shortcut_listener_mac.mm", "//chrome/browser/icon_loader_mac.mm", "//chrome/browser/media/webrtc/system_media_capture_permissions_mac.h", "//chrome/browser/media/webrtc/system_media_capture_permissions_mac.mm", ] } if (is_win) { sources += [ "//chrome/browser/extensions/global_shortcut_listener_win.cc", "//chrome/browser/extensions/global_shortcut_listener_win.h", "//chrome/browser/icon_loader_win.cc", "//chrome/browser/win/chrome_process_finder.cc", "//chrome/browser/win/chrome_process_finder.h", "//chrome/child/v8_crashpad_support_win.cc", "//chrome/child/v8_crashpad_support_win.h", ] } public_deps = [ "//chrome/browser:dev_ui_browser_resources", "//chrome/common", "//chrome/common:version_header", "//components/keyed_service/content", "//components/paint_preview/buildflags", "//components/proxy_config", "//content/public/browser", "//services/strings", ] deps = [ "//chrome/browser:resource_prefetch_predictor_proto", "//chrome/services/speech:buildflags", "//components/optimization_guide/proto:optimization_guide_proto", ] if (is_linux) { sources += [ "//chrome/browser/icon_loader_auralinux.cc" ] if (use_x11 || use_ozone) { sources += [ "//chrome/browser/extensions/global_shortcut_listener_linux.cc" ] } if (use_x11) { sources += [ "//chrome/browser/extensions/global_shortcut_listener_x11.cc", "//chrome/browser/extensions/global_shortcut_listener_x11.h", ] } if (use_ozone) { deps += [ "//ui/ozone" ] sources += [ "//chrome/browser/extensions/global_shortcut_listener_ozone.cc", "//chrome/browser/extensions/global_shortcut_listener_ozone.h", ] } sources += [ "//chrome/browser/ui/views/status_icons/concat_menu_model.cc", "//chrome/browser/ui/views/status_icons/concat_menu_model.h", "//chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc", "//chrome/browser/ui/views/status_icons/status_icon_linux_dbus.h", ] public_deps += [ "//components/dbus/menu", "//components/dbus/thread_linux", ] } if (is_win) { sources += [ "//chrome/browser/win/icon_reader_service.cc", "//chrome/browser/win/icon_reader_service.h", ] public_deps += [ "//chrome/services/util_win:lib" ] } if (enable_desktop_capturer) { sources += [ "//chrome/browser/media/webrtc/desktop_media_list.h", "//chrome/browser/media/webrtc/desktop_media_list_base.cc", "//chrome/browser/media/webrtc/desktop_media_list_base.h", "//chrome/browser/media/webrtc/desktop_media_list_observer.h", "//chrome/browser/media/webrtc/native_desktop_media_list.cc", "//chrome/browser/media/webrtc/native_desktop_media_list.h", "//chrome/browser/media/webrtc/window_icon_util.h", ] deps += [ "//ui/snapshot" ] } if (enable_color_chooser) { sources += [ "//chrome/browser/platform_util.cc", "//chrome/browser/platform_util.h", "//chrome/browser/ui/browser_dialogs.h", "//chrome/browser/ui/color_chooser.h", "//chrome/browser/ui/views/eye_dropper/eye_dropper.cc", "//chrome/browser/ui/views/eye_dropper/eye_dropper.h", "//chrome/browser/ui/views/eye_dropper/eye_dropper_view.cc", "//chrome/browser/ui/views/eye_dropper/eye_dropper_view.h", ] if (use_aura) { sources += [ "//chrome/browser/platform_util_aura.cc", "//chrome/browser/ui/views/eye_dropper/eye_dropper_view_aura.cc", ] if (!is_win) { sources += [ "//chrome/browser/ui/views/color_chooser_aura.cc", "//chrome/browser/ui/views/color_chooser_aura.h", ] } deps += [ "//components/feature_engagement" ] } if (is_mac) { sources += [ "//chrome/browser/media/webrtc/window_icon_util_mac.mm", "//chrome/browser/ui/cocoa/color_chooser_mac.h", "//chrome/browser/ui/cocoa/color_chooser_mac.mm", "//chrome/browser/ui/views/eye_dropper/eye_dropper_view_mac.h", "//chrome/browser/ui/views/eye_dropper/eye_dropper_view_mac.mm", ] deps += [ "//components/remote_cocoa/app_shim", "//components/remote_cocoa/browser", ] } if (is_win) { sources += [ "//chrome/browser/media/webrtc/window_icon_util_win.cc", "//chrome/browser/ui/views/color_chooser_dialog.cc", "//chrome/browser/ui/views/color_chooser_dialog.h", "//chrome/browser/ui/views/color_chooser_win.cc", ] } if (is_linux) { sources += [ "//chrome/browser/media/webrtc/window_icon_util_linux.cc" ] } } if (enable_widevine) { sources += [ "//chrome/renderer/media/chrome_key_systems.cc", "//chrome/renderer/media/chrome_key_systems.h", "//chrome/renderer/media/chrome_key_systems_provider.cc", "//chrome/renderer/media/chrome_key_systems_provider.h", ] deps += [ "//components/cdm/renderer" ] } if (enable_basic_printing) { sources += [ "//chrome/browser/printing/print_job.cc", "//chrome/browser/printing/print_job.h", "//chrome/browser/printing/print_job_manager.cc", "//chrome/browser/printing/print_job_manager.h", "//chrome/browser/printing/print_job_worker.cc", "//chrome/browser/printing/print_job_worker.h", "//chrome/browser/printing/print_view_manager_base.cc", "//chrome/browser/printing/print_view_manager_base.h", "//chrome/browser/printing/print_view_manager_basic.cc", "//chrome/browser/printing/print_view_manager_basic.h", "//chrome/browser/printing/printer_query.cc", "//chrome/browser/printing/printer_query.h", "//chrome/browser/printing/printing_service.cc", "//chrome/browser/printing/printing_service.h", ] public_deps += [ "//chrome/services/printing:lib", "//components/printing/browser", "//components/printing/renderer", "//components/services/print_compositor", "//components/services/print_compositor/public/cpp", "//components/services/print_compositor/public/mojom", ] deps += [ "//components/printing/common", "//printing", ] if (is_win) { sources += [ "//chrome/browser/printing/pdf_to_emf_converter.cc", "//chrome/browser/printing/pdf_to_emf_converter.h", "//chrome/utility/printing_handler.cc", "//chrome/utility/printing_handler.h", ] } } if (enable_picture_in_picture) { sources += [ "//chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc", "//chrome/browser/picture_in_picture/picture_in_picture_window_manager.h", "//chrome/browser/ui/views/overlay/back_to_tab_image_button.cc", "//chrome/browser/ui/views/overlay/back_to_tab_image_button.h", "//chrome/browser/ui/views/overlay/back_to_tab_label_button.cc", "//chrome/browser/ui/views/overlay/close_image_button.cc", "//chrome/browser/ui/views/overlay/close_image_button.h", "//chrome/browser/ui/views/overlay/constants.h", "//chrome/browser/ui/views/overlay/hang_up_button.cc", "//chrome/browser/ui/views/overlay/hang_up_button.h", "//chrome/browser/ui/views/overlay/overlay_window_views.cc", "//chrome/browser/ui/views/overlay/overlay_window_views.h", "//chrome/browser/ui/views/overlay/playback_image_button.cc", "//chrome/browser/ui/views/overlay/playback_image_button.h", "//chrome/browser/ui/views/overlay/resize_handle_button.cc", "//chrome/browser/ui/views/overlay/resize_handle_button.h", "//chrome/browser/ui/views/overlay/skip_ad_label_button.cc", "//chrome/browser/ui/views/overlay/skip_ad_label_button.h", "//chrome/browser/ui/views/overlay/toggle_camera_button.cc", "//chrome/browser/ui/views/overlay/toggle_camera_button.h", "//chrome/browser/ui/views/overlay/toggle_microphone_button.cc", "//chrome/browser/ui/views/overlay/toggle_microphone_button.h", "//chrome/browser/ui/views/overlay/track_image_button.cc", "//chrome/browser/ui/views/overlay/track_image_button.h", ] deps += [ "//chrome/app/vector_icons", "//components/vector_icons:vector_icons", ] } if (enable_electron_extensions) { sources += [ "//chrome/browser/extensions/chrome_url_request_util.cc", "//chrome/browser/extensions/chrome_url_request_util.h", "//chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.cc", "//chrome/browser/plugins/plugin_response_interceptor_url_loader_throttle.h", "//chrome/renderer/extensions/extension_hooks_delegate.cc", "//chrome/renderer/extensions/extension_hooks_delegate.h", "//chrome/renderer/extensions/tabs_hooks_delegate.cc", "//chrome/renderer/extensions/tabs_hooks_delegate.h", ] if (enable_pdf_viewer) { sources += [ "//chrome/browser/pdf/pdf_extension_util.cc", "//chrome/browser/pdf/pdf_extension_util.h", "//chrome/renderer/pepper/chrome_pdf_print_client.cc", "//chrome/renderer/pepper/chrome_pdf_print_client.h", ] } } if (!is_mas_build) { sources += [ "//chrome/browser/hang_monitor/hang_crash_dump.h" ] if (is_mac) { sources += [ "//chrome/browser/hang_monitor/hang_crash_dump_mac.cc" ] } else if (is_win) { sources += [ "//chrome/browser/hang_monitor/hang_crash_dump_win.cc" ] } else { sources += [ "//chrome/browser/hang_monitor/hang_crash_dump.cc" ] } } } source_set("plugins") { sources = [] deps = [] frameworks = [] # browser side sources += [ "//chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.cc", "//chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.h", "//chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc", "//chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h", ] deps += [ "//media:media_buildflags", "//ppapi/buildflags", "//ppapi/proxy:ipc", "//services/device/public/mojom", ] if (enable_pdf_viewer) { deps += [ "//components/pdf/browser" ] } # renderer side sources += [ "//chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc", "//chrome/renderer/pepper/chrome_renderer_pepper_host_factory.h", "//chrome/renderer/pepper/pepper_shared_memory_message_filter.cc", "//chrome/renderer/pepper/pepper_shared_memory_message_filter.h", ] if (enable_pdf_viewer) { sources += [ "//chrome/renderer/pepper/pepper_flash_font_file_host.cc", "//chrome/renderer/pepper/pepper_flash_font_file_host.h", ] if (enable_pdf_viewer) { deps += [ "//components/pdf/renderer" ] } } deps += [ "//components/strings", "//media:media_buildflags", "//ppapi/host", "//ppapi/proxy", "//ppapi/proxy:ipc", "//ppapi/shared_impl", "//skia", ] } # This source set is just so we don't have to depend on all of //chrome/browser # You may have to add new files here during the upgrade if //chrome/browser/spellchecker # gets more files source_set("chrome_spellchecker") { sources = [] deps = [] libs = [] public_deps = [] if (enable_builtin_spellchecker) { sources += [ "//chrome/browser/spellchecker/spell_check_host_chrome_impl.cc", "//chrome/browser/spellchecker/spell_check_host_chrome_impl.h", "//chrome/browser/spellchecker/spellcheck_custom_dictionary.cc", "//chrome/browser/spellchecker/spellcheck_custom_dictionary.h", "//chrome/browser/spellchecker/spellcheck_factory.cc", "//chrome/browser/spellchecker/spellcheck_factory.h", "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc", "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h", "//chrome/browser/spellchecker/spellcheck_language_blocklist_policy_handler.cc", "//chrome/browser/spellchecker/spellcheck_language_blocklist_policy_handler.h", "//chrome/browser/spellchecker/spellcheck_language_policy_handler.cc", "//chrome/browser/spellchecker/spellcheck_language_policy_handler.h", "//chrome/browser/spellchecker/spellcheck_service.cc", "//chrome/browser/spellchecker/spellcheck_service.h", ] if (has_spellcheck_panel) { sources += [ "//chrome/browser/spellchecker/spell_check_panel_host_impl.cc", "//chrome/browser/spellchecker/spell_check_panel_host_impl.h", ] } if (use_browser_spellchecker) { sources += [ "//chrome/browser/spellchecker/spelling_request.cc", "//chrome/browser/spellchecker/spelling_request.h", ] } deps += [ "//base:base_static", "//components/language/core/browser", "//components/spellcheck:buildflags", "//components/sync", ] public_deps += [ "//chrome/common:constants" ] } public_deps += [ "//components/spellcheck/browser", "//components/spellcheck/common", "//components/spellcheck/renderer", ] }