BUILD.gn 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. # Copyright (c) 2018 GitHub, Inc.
  2. # Use of this source code is governed by the MIT license that can be
  3. # found in the LICENSE file.
  4. import("//build/config/ui.gni")
  5. import("//components/spellcheck/spellcheck_build_features.gni")
  6. import("//electron/buildflags/buildflags.gni")
  7. import("//printing/buildflags/buildflags.gni")
  8. import("//third_party/widevine/cdm/widevine.gni")
  9. # Builds some of the chrome sources that Electron depends on.
  10. static_library("chrome") {
  11. visibility = [ "//electron:electron_lib" ]
  12. sources = [
  13. "//chrome/browser/browser_process.cc",
  14. "//chrome/browser/browser_process.h",
  15. "//chrome/browser/devtools/devtools_contents_resizing_strategy.cc",
  16. "//chrome/browser/devtools/devtools_contents_resizing_strategy.h",
  17. "//chrome/browser/devtools/devtools_embedder_message_dispatcher.cc",
  18. "//chrome/browser/devtools/devtools_embedder_message_dispatcher.h",
  19. "//chrome/browser/devtools/devtools_file_system_indexer.cc",
  20. "//chrome/browser/devtools/devtools_file_system_indexer.h",
  21. "//chrome/browser/extensions/global_shortcut_listener.cc",
  22. "//chrome/browser/extensions/global_shortcut_listener.h",
  23. "//chrome/browser/extensions/global_shortcut_listener_mac.h",
  24. "//chrome/browser/extensions/global_shortcut_listener_mac.mm",
  25. "//chrome/browser/extensions/global_shortcut_listener_win.cc",
  26. "//chrome/browser/extensions/global_shortcut_listener_win.h",
  27. "//chrome/browser/icon_loader.cc",
  28. "//chrome/browser/icon_loader.h",
  29. "//chrome/browser/icon_loader_mac.mm",
  30. "//chrome/browser/icon_loader_win.cc",
  31. "//chrome/browser/icon_manager.cc",
  32. "//chrome/browser/icon_manager.h",
  33. "//chrome/browser/media/webrtc/system_media_capture_permissions_mac.h",
  34. "//chrome/browser/media/webrtc/system_media_capture_permissions_mac.mm",
  35. "//chrome/browser/net/chrome_mojo_proxy_resolver_factory.cc",
  36. "//chrome/browser/net/chrome_mojo_proxy_resolver_factory.h",
  37. "//chrome/browser/net/proxy_config_monitor.cc",
  38. "//chrome/browser/net/proxy_config_monitor.h",
  39. "//chrome/browser/net/proxy_service_factory.cc",
  40. "//chrome/browser/net/proxy_service_factory.h",
  41. "//chrome/browser/predictors/preconnect_manager.cc",
  42. "//chrome/browser/predictors/preconnect_manager.h",
  43. "//chrome/browser/predictors/predictors_features.cc",
  44. "//chrome/browser/predictors/predictors_features.h",
  45. "//chrome/browser/predictors/proxy_lookup_client_impl.cc",
  46. "//chrome/browser/predictors/proxy_lookup_client_impl.h",
  47. "//chrome/browser/predictors/resolve_host_client_impl.cc",
  48. "//chrome/browser/predictors/resolve_host_client_impl.h",
  49. "//chrome/browser/ssl/security_state_tab_helper.cc",
  50. "//chrome/browser/ssl/security_state_tab_helper.h",
  51. "//chrome/browser/ssl/tls_deprecation_config.cc",
  52. "//chrome/browser/ui/autofill/popup_view_common.cc",
  53. "//chrome/browser/ui/autofill/popup_view_common.h",
  54. "//chrome/browser/win/chrome_process_finder.cc",
  55. "//chrome/browser/win/chrome_process_finder.h",
  56. "//extensions/browser/app_window/size_constraints.cc",
  57. "//extensions/browser/app_window/size_constraints.h",
  58. ]
  59. public_deps = [
  60. "//chrome/common",
  61. "//chrome/common:version_header",
  62. "//components/keyed_service/content",
  63. "//components/proxy_config",
  64. "//components/security_state/content",
  65. "//content/public/browser",
  66. ]
  67. deps = [
  68. "//chrome/browser:resource_prefetch_predictor_proto",
  69. "//chrome/browser/ssl:proto",
  70. "//components/feature_engagement:buildflags",
  71. ]
  72. if (is_linux) {
  73. sources += [ "//chrome/browser/icon_loader_auralinux.cc" ]
  74. sources += [
  75. "//chrome/browser/extensions/global_shortcut_listener_x11.cc",
  76. "//chrome/browser/extensions/global_shortcut_listener_x11.h",
  77. "//chrome/browser/ui/views/status_icons/concat_menu_model.cc",
  78. "//chrome/browser/ui/views/status_icons/concat_menu_model.h",
  79. "//chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc",
  80. "//chrome/browser/ui/views/status_icons/status_icon_linux_dbus.h",
  81. ]
  82. public_deps += [
  83. "//components/dbus/menu",
  84. "//components/dbus/thread_linux",
  85. ]
  86. }
  87. if (enable_desktop_capturer) {
  88. sources += [
  89. "//chrome/browser/media/webrtc/desktop_media_list.h",
  90. "//chrome/browser/media/webrtc/desktop_media_list_base.cc",
  91. "//chrome/browser/media/webrtc/desktop_media_list_base.h",
  92. "//chrome/browser/media/webrtc/desktop_media_list_observer.h",
  93. "//chrome/browser/media/webrtc/native_desktop_media_list.cc",
  94. "//chrome/browser/media/webrtc/native_desktop_media_list.h",
  95. "//chrome/browser/media/webrtc/window_icon_util.h",
  96. ]
  97. deps += [ "//ui/snapshot" ]
  98. }
  99. if (enable_color_chooser) {
  100. sources += [
  101. "//chrome/browser/platform_util.cc",
  102. "//chrome/browser/platform_util.h",
  103. "//chrome/browser/ui/browser_dialogs.h",
  104. "//chrome/browser/ui/color_chooser.h",
  105. ]
  106. if (use_aura) {
  107. sources += [
  108. "//chrome/browser/platform_util_aura.cc",
  109. "//chrome/browser/ui/views/color_chooser_aura.cc",
  110. "//chrome/browser/ui/views/color_chooser_aura.h",
  111. ]
  112. deps += [ "//components/feature_engagement" ]
  113. }
  114. if (is_mac) {
  115. sources += [
  116. "//chrome/browser/media/webrtc/window_icon_util_mac.mm",
  117. "//chrome/browser/ui/cocoa/color_chooser_mac.h",
  118. "//chrome/browser/ui/cocoa/color_chooser_mac.mm",
  119. ]
  120. deps += [
  121. "//components/remote_cocoa/app_shim",
  122. "//components/remote_cocoa/browser",
  123. ]
  124. }
  125. if (is_win) {
  126. sources += [
  127. "//chrome/browser/media/webrtc/window_icon_util_win.cc",
  128. "//chrome/browser/ui/views/color_chooser_dialog.cc",
  129. "//chrome/browser/ui/views/color_chooser_dialog.h",
  130. "//chrome/browser/ui/views/color_chooser_win.cc",
  131. ]
  132. }
  133. if (is_linux) {
  134. sources += [ "//chrome/browser/media/webrtc/window_icon_util_x11.cc" ]
  135. }
  136. }
  137. if (enable_tts) {
  138. sources += [
  139. "//chrome/browser/speech/tts_controller_delegate_impl.cc",
  140. "//chrome/browser/speech/tts_controller_delegate_impl.h",
  141. ]
  142. }
  143. if (enable_widevine) {
  144. sources += [
  145. "//chrome/renderer/media/chrome_key_systems.cc",
  146. "//chrome/renderer/media/chrome_key_systems.h",
  147. "//chrome/renderer/media/chrome_key_systems_provider.cc",
  148. "//chrome/renderer/media/chrome_key_systems_provider.h",
  149. ]
  150. deps += [ "//components/cdm/renderer" ]
  151. }
  152. if (enable_basic_printing) {
  153. sources += [
  154. "//chrome/browser/printing/print_job.cc",
  155. "//chrome/browser/printing/print_job.h",
  156. "//chrome/browser/printing/print_job_manager.cc",
  157. "//chrome/browser/printing/print_job_manager.h",
  158. "//chrome/browser/printing/print_job_worker.cc",
  159. "//chrome/browser/printing/print_job_worker.h",
  160. "//chrome/browser/printing/print_view_manager_base.cc",
  161. "//chrome/browser/printing/print_view_manager_base.h",
  162. "//chrome/browser/printing/print_view_manager_basic.cc",
  163. "//chrome/browser/printing/print_view_manager_basic.h",
  164. "//chrome/browser/printing/printer_query.cc",
  165. "//chrome/browser/printing/printer_query.h",
  166. "//chrome/browser/printing/printing_message_filter.cc",
  167. "//chrome/browser/printing/printing_message_filter.h",
  168. "//chrome/browser/printing/printing_service.cc",
  169. "//chrome/browser/printing/printing_service.h",
  170. ]
  171. public_deps += [
  172. "//chrome/services/printing:lib",
  173. "//components/printing/browser",
  174. "//components/printing/renderer",
  175. "//components/services/print_compositor",
  176. "//components/services/print_compositor/public/cpp",
  177. "//components/services/print_compositor/public/mojom",
  178. ]
  179. deps += [
  180. "//components/printing/common",
  181. "//printing",
  182. ]
  183. if (is_win) {
  184. sources += [
  185. "//chrome/browser/printing/pdf_to_emf_converter.cc",
  186. "//chrome/browser/printing/pdf_to_emf_converter.h",
  187. "//chrome/utility/printing_handler.cc",
  188. "//chrome/utility/printing_handler.h",
  189. ]
  190. }
  191. }
  192. if (enable_picture_in_picture) {
  193. sources += [
  194. "//chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc",
  195. "//chrome/browser/picture_in_picture/picture_in_picture_window_manager.h",
  196. "//chrome/browser/ui/views/overlay/back_to_tab_image_button.cc",
  197. "//chrome/browser/ui/views/overlay/back_to_tab_image_button.h",
  198. "//chrome/browser/ui/views/overlay/close_image_button.cc",
  199. "//chrome/browser/ui/views/overlay/close_image_button.h",
  200. "//chrome/browser/ui/views/overlay/overlay_window_views.cc",
  201. "//chrome/browser/ui/views/overlay/overlay_window_views.h",
  202. "//chrome/browser/ui/views/overlay/playback_image_button.cc",
  203. "//chrome/browser/ui/views/overlay/playback_image_button.h",
  204. "//chrome/browser/ui/views/overlay/resize_handle_button.cc",
  205. "//chrome/browser/ui/views/overlay/resize_handle_button.h",
  206. "//chrome/browser/ui/views/overlay/skip_ad_label_button.cc",
  207. "//chrome/browser/ui/views/overlay/skip_ad_label_button.h",
  208. "//chrome/browser/ui/views/overlay/track_image_button.cc",
  209. "//chrome/browser/ui/views/overlay/track_image_button.h",
  210. ]
  211. deps += [
  212. "//chrome/app/vector_icons",
  213. "//components/vector_icons:vector_icons",
  214. ]
  215. }
  216. if (enable_electron_extensions) {
  217. sources += [
  218. "//chrome/renderer/extensions/tabs_hooks_delegate.cc",
  219. "//chrome/renderer/extensions/tabs_hooks_delegate.h",
  220. ]
  221. }
  222. }
  223. source_set("plugins") {
  224. sources = []
  225. deps = []
  226. libs = []
  227. # browser side
  228. sources += [
  229. "//chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.cc",
  230. "//chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory.h",
  231. "//chrome/browser/renderer_host/pepper/pepper_broker_message_filter.cc",
  232. "//chrome/browser/renderer_host/pepper/pepper_broker_message_filter.h",
  233. "//chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.cc",
  234. "//chrome/browser/renderer_host/pepper/pepper_isolated_file_system_message_filter.h",
  235. ]
  236. deps += [
  237. "//media:media_buildflags",
  238. "//ppapi/buildflags",
  239. "//ppapi/proxy:ipc",
  240. "//services/device/public/mojom",
  241. ]
  242. if (enable_pepper_flash) {
  243. sources += [
  244. "//chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc",
  245. "//chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h",
  246. "//chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.cc",
  247. "//chrome/browser/renderer_host/pepper/pepper_flash_clipboard_message_filter.h",
  248. "//chrome/browser/renderer_host/pepper/pepper_flash_drm_host.cc",
  249. "//chrome/browser/renderer_host/pepper/pepper_flash_drm_host.h",
  250. ]
  251. if (is_mac) {
  252. sources += [
  253. "//chrome/browser/renderer_host/pepper/monitor_finder_mac.h",
  254. "//chrome/browser/renderer_host/pepper/monitor_finder_mac.mm",
  255. ]
  256. libs += [ "CoreGraphics.framework" ]
  257. }
  258. if (is_linux) {
  259. deps += [ "//components/services/font/public/cpp" ]
  260. }
  261. }
  262. # renderer side
  263. sources += [
  264. "//chrome/renderer/pepper/chrome_renderer_pepper_host_factory.cc",
  265. "//chrome/renderer/pepper/chrome_renderer_pepper_host_factory.h",
  266. "//chrome/renderer/pepper/pepper_shared_memory_message_filter.cc",
  267. "//chrome/renderer/pepper/pepper_shared_memory_message_filter.h",
  268. ]
  269. if (enable_pepper_flash) {
  270. sources += [
  271. "//chrome/renderer/pepper/pepper_flash_drm_renderer_host.cc",
  272. "//chrome/renderer/pepper/pepper_flash_drm_renderer_host.h",
  273. "//chrome/renderer/pepper/pepper_flash_font_file_host.cc",
  274. "//chrome/renderer/pepper/pepper_flash_font_file_host.h",
  275. "//chrome/renderer/pepper/pepper_flash_fullscreen_host.cc",
  276. "//chrome/renderer/pepper/pepper_flash_fullscreen_host.h",
  277. "//chrome/renderer/pepper/pepper_flash_menu_host.cc",
  278. "//chrome/renderer/pepper/pepper_flash_menu_host.h",
  279. "//chrome/renderer/pepper/pepper_flash_renderer_host.cc",
  280. "//chrome/renderer/pepper/pepper_flash_renderer_host.h",
  281. ]
  282. }
  283. deps += [
  284. "//components/strings",
  285. "//media:media_buildflags",
  286. "//ppapi/host",
  287. "//ppapi/proxy",
  288. "//ppapi/proxy:ipc",
  289. "//ppapi/shared_impl",
  290. "//skia",
  291. ]
  292. }
  293. # This source set is just so we don't have to depend on all of //chrome/browser
  294. # You may have to add new files here during the upgrade if //chrome/browser/spellchecker
  295. # gets more files
  296. source_set("chrome_spellchecker") {
  297. sources = []
  298. deps = []
  299. libs = []
  300. if (enable_builtin_spellchecker) {
  301. sources += [
  302. "//chrome/browser/spellchecker/spell_check_host_chrome_impl.cc",
  303. "//chrome/browser/spellchecker/spell_check_host_chrome_impl.h",
  304. "//chrome/browser/spellchecker/spellcheck_custom_dictionary.cc",
  305. "//chrome/browser/spellchecker/spellcheck_custom_dictionary.h",
  306. "//chrome/browser/spellchecker/spellcheck_factory.cc",
  307. "//chrome/browser/spellchecker/spellcheck_factory.h",
  308. "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc",
  309. "//chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h",
  310. "//chrome/browser/spellchecker/spellcheck_language_blacklist_policy_handler.cc",
  311. "//chrome/browser/spellchecker/spellcheck_language_blacklist_policy_handler.h",
  312. "//chrome/browser/spellchecker/spellcheck_language_policy_handler.cc",
  313. "//chrome/browser/spellchecker/spellcheck_language_policy_handler.h",
  314. "//chrome/browser/spellchecker/spellcheck_service.cc",
  315. "//chrome/browser/spellchecker/spellcheck_service.h",
  316. "//chrome/common/pref_names.h",
  317. ]
  318. if (has_spellcheck_panel) {
  319. sources += [
  320. "//chrome/browser/spellchecker/spell_check_panel_host_impl.cc",
  321. "//chrome/browser/spellchecker/spell_check_panel_host_impl.h",
  322. ]
  323. }
  324. if (use_browser_spellchecker) {
  325. sources += [
  326. "//chrome/browser/spellchecker/spelling_request.cc",
  327. "//chrome/browser/spellchecker/spelling_request.h",
  328. ]
  329. }
  330. deps += [
  331. "//base:base_static",
  332. "//components/language/core/browser",
  333. "//components/spellcheck:buildflags",
  334. "//components/sync",
  335. ]
  336. }
  337. public_deps = [
  338. "//components/spellcheck/browser",
  339. "//components/spellcheck/common",
  340. "//components/spellcheck/renderer",
  341. ]
  342. }