BUILD.gn 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415
  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.
  4. import("//build/config/features.gni")
  5. import("//extensions/buildflags/buildflags.gni")
  6. assert(enable_extensions)
  7. source_set("renderer") {
  8. sources = [
  9. "activity_log_converter_strategy.cc",
  10. "activity_log_converter_strategy.h",
  11. "api/automation/automation_api_helper.cc",
  12. "api/automation/automation_api_helper.h",
  13. "api/automation/automation_api_util.cc",
  14. "api/automation/automation_api_util.h",
  15. "api/automation/automation_ax_tree_wrapper.cc",
  16. "api/automation/automation_ax_tree_wrapper.h",
  17. "api/automation/automation_internal_custom_bindings.cc",
  18. "api/automation/automation_internal_custom_bindings.h",
  19. "api/automation/automation_position.cc",
  20. "api/automation/automation_position.h",
  21. "api_activity_logger.cc",
  22. "api_activity_logger.h",
  23. "api_definitions_natives.cc",
  24. "api_definitions_natives.h",
  25. "app_window_custom_bindings.cc",
  26. "app_window_custom_bindings.h",
  27. "binding_generating_native_handler.cc",
  28. "binding_generating_native_handler.h",
  29. "bindings/api_binding.cc",
  30. "bindings/api_binding.h",
  31. "bindings/api_binding_bridge.cc",
  32. "bindings/api_binding_bridge.h",
  33. "bindings/api_binding_hooks.cc",
  34. "bindings/api_binding_hooks.h",
  35. "bindings/api_binding_hooks_delegate.cc",
  36. "bindings/api_binding_hooks_delegate.h",
  37. "bindings/api_binding_js_util.cc",
  38. "bindings/api_binding_js_util.h",
  39. "bindings/api_binding_types.cc",
  40. "bindings/api_binding_types.h",
  41. "bindings/api_binding_util.cc",
  42. "bindings/api_binding_util.h",
  43. "bindings/api_bindings_system.cc",
  44. "bindings/api_bindings_system.h",
  45. "bindings/api_event_handler.cc",
  46. "bindings/api_event_handler.h",
  47. "bindings/api_event_listeners.cc",
  48. "bindings/api_event_listeners.h",
  49. "bindings/api_invocation_errors.cc",
  50. "bindings/api_invocation_errors.h",
  51. "bindings/api_last_error.cc",
  52. "bindings/api_last_error.h",
  53. "bindings/api_request_handler.cc",
  54. "bindings/api_request_handler.h",
  55. "bindings/api_response_validator.cc",
  56. "bindings/api_response_validator.h",
  57. "bindings/api_signature.cc",
  58. "bindings/api_signature.h",
  59. "bindings/api_type_reference_map.cc",
  60. "bindings/api_type_reference_map.h",
  61. "bindings/argument_spec.cc",
  62. "bindings/argument_spec.h",
  63. "bindings/binding_access_checker.cc",
  64. "bindings/binding_access_checker.h",
  65. "bindings/declarative_event.cc",
  66. "bindings/declarative_event.h",
  67. "bindings/event_emitter.cc",
  68. "bindings/event_emitter.h",
  69. "bindings/exception_handler.cc",
  70. "bindings/exception_handler.h",
  71. "bindings/interaction_provider.h",
  72. "bindings/js_runner.cc",
  73. "bindings/js_runner.h",
  74. "bindings/listener_tracker.cc",
  75. "bindings/listener_tracker.h",
  76. "blob_native_handler.cc",
  77. "blob_native_handler.h",
  78. "chrome_setting.cc",
  79. "chrome_setting.h",
  80. "console.cc",
  81. "console.h",
  82. "content_setting.cc",
  83. "content_setting.h",
  84. "content_watcher.cc",
  85. "content_watcher.h",
  86. "context_menus_custom_bindings.cc",
  87. "context_menus_custom_bindings.h",
  88. "declarative_content_hooks_delegate.cc",
  89. "declarative_content_hooks_delegate.h",
  90. "dispatcher.cc",
  91. "dispatcher.h",
  92. "dispatcher_delegate.cc",
  93. "dispatcher_delegate.h",
  94. "dom_activity_logger.cc",
  95. "dom_activity_logger.h",
  96. "dom_hooks_delegate.cc",
  97. "dom_hooks_delegate.h",
  98. "extension_frame_helper.cc",
  99. "extension_frame_helper.h",
  100. "extension_injection_host.cc",
  101. "extension_injection_host.h",
  102. "extension_interaction_provider.cc",
  103. "extension_interaction_provider.h",
  104. "extension_js_runner.cc",
  105. "extension_js_runner.h",
  106. "extension_throttle_entry.cc",
  107. "extension_throttle_entry.h",
  108. "extension_throttle_manager.cc",
  109. "extension_throttle_manager.h",
  110. "extension_url_loader_throttle.cc",
  111. "extension_url_loader_throttle.h",
  112. "extensions_render_frame_observer.cc",
  113. "extensions_render_frame_observer.h",
  114. "extensions_renderer_client.cc",
  115. "extensions_renderer_client.h",
  116. "feature_cache.cc",
  117. "feature_cache.h",
  118. "file_system_natives.cc",
  119. "file_system_natives.h",
  120. "gc_callback.cc",
  121. "gc_callback.h",
  122. "get_script_context.cc",
  123. "get_script_context.h",
  124. "gin_port.cc",
  125. "gin_port.h",
  126. "guest_view/guest_view_internal_custom_bindings.cc",
  127. "guest_view/guest_view_internal_custom_bindings.h",
  128. "guest_view/mime_handler_view/mime_handler_view_container_manager.cc",
  129. "guest_view/mime_handler_view/mime_handler_view_container_manager.h",
  130. "guest_view/mime_handler_view/mime_handler_view_frame_container.cc",
  131. "guest_view/mime_handler_view/mime_handler_view_frame_container.h",
  132. "guest_view/mime_handler_view/post_message_support.cc",
  133. "guest_view/mime_handler_view/post_message_support.h",
  134. "i18n_hooks_delegate.cc",
  135. "i18n_hooks_delegate.h",
  136. "id_generator_custom_bindings.cc",
  137. "id_generator_custom_bindings.h",
  138. "injection_host.cc",
  139. "injection_host.h",
  140. "ipc_message_sender.cc",
  141. "ipc_message_sender.h",
  142. "lazy_background_page_native_handler.cc",
  143. "lazy_background_page_native_handler.h",
  144. "localization_peer.cc",
  145. "localization_peer.h",
  146. "logging_native_handler.cc",
  147. "logging_native_handler.h",
  148. "message_target.cc",
  149. "message_target.h",
  150. "messaging_bindings.cc",
  151. "messaging_bindings.h",
  152. "messaging_util.cc",
  153. "messaging_util.h",
  154. "module_system.cc",
  155. "module_system.h",
  156. "native_extension_bindings_system.cc",
  157. "native_extension_bindings_system.h",
  158. "native_handler.cc",
  159. "native_handler.h",
  160. "native_renderer_messaging_service.cc",
  161. "native_renderer_messaging_service.h",
  162. "object_backed_native_handler.cc",
  163. "object_backed_native_handler.h",
  164. "one_time_message_handler.cc",
  165. "one_time_message_handler.h",
  166. "process_info_native_handler.cc",
  167. "process_info_native_handler.h",
  168. "programmatic_script_injector.cc",
  169. "programmatic_script_injector.h",
  170. "render_frame_observer_natives.cc",
  171. "render_frame_observer_natives.h",
  172. "renderer_extension_registry.cc",
  173. "renderer_extension_registry.h",
  174. "resource_bundle_source_map.cc",
  175. "resource_bundle_source_map.h",
  176. "runtime_custom_bindings.cc",
  177. "runtime_custom_bindings.h",
  178. "runtime_hooks_delegate.cc",
  179. "runtime_hooks_delegate.h",
  180. "safe_builtins.cc",
  181. "safe_builtins.h",
  182. "script_context.cc",
  183. "script_context.h",
  184. "script_context_set.cc",
  185. "script_context_set.h",
  186. "script_context_set_iterable.cc",
  187. "script_context_set_iterable.h",
  188. "script_injection.cc",
  189. "script_injection.h",
  190. "script_injection_manager.cc",
  191. "script_injection_manager.h",
  192. "script_injector.h",
  193. "scripts_run_info.cc",
  194. "scripts_run_info.h",
  195. "service_worker_data.cc",
  196. "service_worker_data.h",
  197. "service_worker_natives.cc",
  198. "service_worker_natives.h",
  199. "set_icon_natives.cc",
  200. "set_icon_natives.h",
  201. "shared_l10n_map.cc",
  202. "shared_l10n_map.h",
  203. "source_map.h",
  204. "static_v8_external_one_byte_string_resource.cc",
  205. "static_v8_external_one_byte_string_resource.h",
  206. "storage_area.cc",
  207. "storage_area.h",
  208. "test_features_native_handler.cc",
  209. "test_features_native_handler.h",
  210. "test_native_handler.cc",
  211. "test_native_handler.h",
  212. "trace_util.h",
  213. "user_gestures_native_handler.cc",
  214. "user_gestures_native_handler.h",
  215. "user_script_injector.cc",
  216. "user_script_injector.h",
  217. "user_script_set.cc",
  218. "user_script_set.h",
  219. "user_script_set_manager.cc",
  220. "user_script_set_manager.h",
  221. "utils_native_handler.cc",
  222. "utils_native_handler.h",
  223. "v8_context_native_handler.cc",
  224. "v8_context_native_handler.h",
  225. "v8_helpers.h",
  226. "v8_schema_registry.cc",
  227. "v8_schema_registry.h",
  228. "wake_event_page.cc",
  229. "wake_event_page.h",
  230. "web_request_hooks.cc",
  231. "web_request_hooks.h",
  232. "web_ui_injection_host.cc",
  233. "web_ui_injection_host.h",
  234. "worker_script_context_set.cc",
  235. "worker_script_context_set.h",
  236. "worker_thread_dispatcher.cc",
  237. "worker_thread_dispatcher.h",
  238. "worker_thread_util.cc",
  239. "worker_thread_util.h",
  240. ]
  241. configs += [
  242. "//build/config:precompiled_headers",
  243. "//build/config/compiler:wexit_time_destructors",
  244. ]
  245. deps = [
  246. "//build:chromeos_buildflags",
  247. "//chrome:resources",
  248. "//components/crx_file",
  249. "//components/guest_view/common",
  250. "//components/guest_view/common:mojom",
  251. "//components/guest_view/renderer",
  252. "//components/version_info",
  253. "//content:content_resources",
  254. "//content:dev_ui_content_resources",
  255. "//content/public/renderer",
  256. "//extensions:extensions_resources",
  257. "//extensions/common",
  258. "//extensions/common:mojom",
  259. "//extensions/common/api",
  260. "//gin",
  261. "//mojo/public/js:resources",
  262. "//services/metrics/public/cpp:metrics_cpp",
  263. "//skia",
  264. "//storage/common",
  265. "//third_party/blink/public:blink",
  266. "//third_party/blink/public/common",
  267. "//third_party/blink/public/strings:accessibility_strings",
  268. "//third_party/cld_3/src/src:cld_3",
  269. "//third_party/zlib/google:compression_utils",
  270. ]
  271. # Temporarily allow crash_key; see https://crbug.com/1034755
  272. deps += [ "//components/crash/core/common:crash_key" ]
  273. }
  274. static_library("unit_test_support") {
  275. # Sources that are shared between chrome-based renderer unit tests and
  276. # top-level extensions renderer unit tests.
  277. testonly = true
  278. sources = [
  279. "bindings/api_binding_test.cc",
  280. "bindings/api_binding_test.h",
  281. "bindings/api_binding_test_util.cc",
  282. "bindings/api_binding_test_util.h",
  283. "bindings/test_interaction_provider.cc",
  284. "bindings/test_interaction_provider.h",
  285. "bindings/test_js_runner.cc",
  286. "bindings/test_js_runner.h",
  287. "native_extension_bindings_system_test_base.cc",
  288. "native_extension_bindings_system_test_base.h",
  289. "send_message_tester.cc",
  290. "send_message_tester.h",
  291. "string_source_map.cc",
  292. "string_source_map.h",
  293. "test_v8_extension_configuration.cc",
  294. "test_v8_extension_configuration.h",
  295. ]
  296. deps = [
  297. ":renderer",
  298. "//base",
  299. "//base/test:test_support",
  300. "//components/crx_file",
  301. "//content/public/renderer",
  302. "//content/test:test_support",
  303. "//extensions:test_support",
  304. "//extensions/common",
  305. "//gin",
  306. "//gin:gin_test",
  307. "//testing/gmock",
  308. "//testing/gtest",
  309. "//third_party/zlib/google:compression_utils",
  310. ]
  311. }
  312. source_set("unit_tests") {
  313. testonly = true
  314. sources = [
  315. "activity_log_converter_strategy_unittest.cc",
  316. "api/automation/automation_internal_custom_bindings_unittests.cc",
  317. "api_activity_logger_unittest.cc",
  318. "bindings/api_binding_bridge_unittest.cc",
  319. "bindings/api_binding_hooks_test_delegate.cc",
  320. "bindings/api_binding_hooks_test_delegate.h",
  321. "bindings/api_binding_js_util_unittest.cc",
  322. "bindings/api_binding_unittest.cc",
  323. "bindings/api_bindings_system_unittest.cc",
  324. "bindings/api_bindings_system_unittest.h",
  325. "bindings/api_event_handler_unittest.cc",
  326. "bindings/api_event_listeners_unittest.cc",
  327. "bindings/api_invocation_errors_unittest.cc",
  328. "bindings/api_last_error_unittest.cc",
  329. "bindings/api_request_handler_unittest.cc",
  330. "bindings/api_response_validator_unittest.cc",
  331. "bindings/api_signature_unittest.cc",
  332. "bindings/argument_spec_builder.cc",
  333. "bindings/argument_spec_builder.h",
  334. "bindings/argument_spec_unittest.cc",
  335. "bindings/binding_access_checker_unittest.cc",
  336. "bindings/declarative_event_unittest.cc",
  337. "bindings/event_emitter_unittest.cc",
  338. "bindings/exception_handler_unittest.cc",
  339. "bindings/listener_tracker_unittest.cc",
  340. "bindings/returns_async_builder.cc",
  341. "bindings/returns_async_builder.h",
  342. "extension_throttle_simulation_unittest.cc",
  343. "extension_throttle_test_support.cc",
  344. "extension_throttle_test_support.h",
  345. "extension_throttle_unittest.cc",
  346. "feature_cache_unittest.cc",
  347. "gc_callback_unittest.cc",
  348. "gin_port_unittest.cc",
  349. "i18n_hooks_delegate_unittest.cc",
  350. "localization_peer_unittest.cc",
  351. "messaging_util_unittest.cc",
  352. "module_system_test.cc",
  353. "module_system_test.h",
  354. "module_system_unittest.cc",
  355. "native_extension_bindings_system_unittest.cc",
  356. "native_renderer_messaging_service_unittest.cc",
  357. "one_time_message_handler_unittest.cc",
  358. "runtime_hooks_delegate_unittest.cc",
  359. "safe_builtins_unittest.cc",
  360. "scoped_web_frame.cc",
  361. "scoped_web_frame.h",
  362. "script_context_set_unittest.cc",
  363. "storage_area_unittest.cc",
  364. "utils_unittest.cc",
  365. ]
  366. deps = [
  367. ":renderer",
  368. ":unit_test_support",
  369. "//base",
  370. "//base/test:test_support",
  371. "//build:chromeos_buildflags",
  372. "//components/crx_file:crx_file",
  373. "//content/test:test_support",
  374. "//extensions:extensions_renderer_resources",
  375. "//extensions:test_support",
  376. "//extensions/common",
  377. "//gin",
  378. "//gin:gin_test",
  379. "//ipc:test_support",
  380. "//testing/gmock",
  381. "//testing/gtest",
  382. "//third_party/blink/public:blink",
  383. "//ui/base",
  384. ]
  385. }
  386. source_set("browser_tests") {
  387. testonly = true
  388. sources = [ "script_context_browsertest.cc" ]
  389. defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
  390. deps = [
  391. ":renderer",
  392. "//base",
  393. "//content/public/renderer",
  394. "//content/test:test_support",
  395. "//extensions:test_support",
  396. "//extensions/common",
  397. "//extensions/shell:app_shell_lib",
  398. "//extensions/shell:browser_tests",
  399. "//third_party/blink/public:blink",
  400. "//url",
  401. ]
  402. }