BUILD.gn 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673
  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/chromeos/ui_mode.gni")
  5. import("//build/config/features.gni")
  6. import("//components/nacl/features.gni")
  7. import("//extensions/buildflags/buildflags.gni")
  8. import("//mojo/public/tools/bindings/mojom.gni")
  9. import("//testing/libfuzzer/fuzzer_test.gni")
  10. assert(enable_extensions)
  11. group("common_constants") {
  12. if (is_component_build) {
  13. public_deps = [ "//extensions" ]
  14. } else {
  15. public_deps = [ ":constants_impl" ]
  16. }
  17. }
  18. group("export") {
  19. if (is_component_build) {
  20. public_deps = [ "//extensions" ]
  21. } else {
  22. public_deps = [ ":export_impl" ]
  23. }
  24. }
  25. source_set("export_impl") {
  26. visibility = [
  27. "//extensions",
  28. "//extensions/common:*",
  29. ]
  30. configs += [ "//extensions:component_implementation" ]
  31. sources = [ "extensions_export.h" ]
  32. }
  33. source_set("constants_impl") {
  34. visibility = [
  35. "//extensions",
  36. "//extensions/common:common_constants",
  37. ]
  38. configs += [ "//extensions:component_implementation" ]
  39. sources = [
  40. "constants.cc",
  41. "constants.h",
  42. "logging_constants.h",
  43. ]
  44. public_deps = [
  45. "//base",
  46. "//build:chromeos_buildflags",
  47. "//components/services/app_service/public/mojom",
  48. "//extensions/common:export_impl",
  49. ]
  50. deps = [ "//build:chromecast_buildflags" ]
  51. configs += [ "//build/config/compiler:wexit_time_destructors" ]
  52. }
  53. mojom("mojom") {
  54. # We don't want Blink variants of bindings to be generated.
  55. disable_variants = true
  56. sources = [
  57. "mojom/activation_sequence.mojom",
  58. "mojom/api_permission_id.mojom",
  59. "mojom/app_window.mojom",
  60. "mojom/automation_query.mojom",
  61. "mojom/channel.mojom",
  62. "mojom/code_injection.mojom",
  63. "mojom/css_origin.mojom",
  64. "mojom/event_dispatcher.mojom",
  65. "mojom/event_router.mojom",
  66. "mojom/execution_world.mojom",
  67. "mojom/feature_session_type.mojom",
  68. "mojom/frame.mojom",
  69. "mojom/guest_view.mojom",
  70. "mojom/host_id.mojom",
  71. "mojom/injection_type.mojom",
  72. "mojom/keep_alive.mojom",
  73. "mojom/manifest.mojom",
  74. "mojom/permission_set.mojom",
  75. "mojom/renderer.mojom",
  76. "mojom/run_location.mojom",
  77. "mojom/url_pattern_set.mojom",
  78. "mojom/view_type.mojom",
  79. ]
  80. public_deps = [
  81. "//content/public/common:interfaces",
  82. "//extensions/common/api:mojom",
  83. "//mojo/public/mojom/base",
  84. "//ui/gfx/geometry/mojom",
  85. "//url/mojom:url_mojom_gurl",
  86. ]
  87. cpp_typemaps = [
  88. {
  89. types = [
  90. {
  91. mojom = "extensions.mojom.Channel"
  92. cpp = "version_info::Channel"
  93. },
  94. ]
  95. traits_headers = [ "//extensions/common/mojom/channel_mojom_traits.h" ]
  96. traits_public_deps = [ "//components/version_info:channel" ]
  97. },
  98. {
  99. types = [
  100. {
  101. mojom = "extensions.mojom.APIPermission"
  102. cpp = "::std::unique_ptr<::extensions::APIPermission>"
  103. move_only = true
  104. },
  105. {
  106. mojom = "extensions.mojom.APIPermissionSet"
  107. cpp = "::extensions::APIPermissionSet"
  108. move_only = true
  109. },
  110. {
  111. mojom = "extensions.mojom.ManifestPermission"
  112. cpp = "::std::unique_ptr<::extensions::ManifestPermission>"
  113. move_only = true
  114. },
  115. {
  116. mojom = "extensions.mojom.ManifestPermissionSet"
  117. cpp = "::extensions::ManifestPermissionSet"
  118. move_only = true
  119. },
  120. {
  121. mojom = "extensions.mojom.PermissionSet"
  122. cpp = "::extensions::PermissionSet"
  123. move_only = true
  124. },
  125. ]
  126. traits_headers =
  127. [ "//extensions/common/mojom/permission_set_mojom_traits.h" ]
  128. traits_sources =
  129. [ "//extensions/common/mojom/permission_set_mojom_traits.cc" ]
  130. },
  131. {
  132. types = [
  133. {
  134. mojom = "extensions.mojom.URLPattern"
  135. cpp = "::URLPattern"
  136. },
  137. {
  138. mojom = "extensions.mojom.URLPatternSet"
  139. cpp = "::extensions::URLPatternSet"
  140. move_only = true
  141. },
  142. ]
  143. traits_headers =
  144. [ "//extensions/common/mojom/url_pattern_set_mojom_traits.h" ]
  145. traits_sources =
  146. [ "//extensions/common/mojom/url_pattern_set_mojom_traits.cc" ]
  147. },
  148. {
  149. types = [
  150. {
  151. mojom = "extensions.mojom.ActivationSequence"
  152. cpp = "::extensions::ActivationSequence"
  153. },
  154. ]
  155. traits_headers =
  156. [ "//extensions/common/mojom/activation_sequence_mojom_traits.h" ]
  157. traits_sources =
  158. [ "//extensions/common/mojom/activation_sequence_mojom_traits.cc" ]
  159. },
  160. ]
  161. overridden_deps = [ "//content/public/common:interfaces" ]
  162. component_deps = [ "//content/public/common" ]
  163. }
  164. # This must be a static library because extensions common depends on
  165. # GetTrustedICAPublicKey in extensions/browser which isn't always linked
  166. # in. TODO(brettw): This reverse dependency should be fixed.
  167. static_library("common") {
  168. sources = [
  169. "activation_sequence.h",
  170. "alias.h",
  171. "api/bluetooth/bluetooth_manifest_data.cc",
  172. "api/bluetooth/bluetooth_manifest_data.h",
  173. "api/bluetooth/bluetooth_manifest_handler.cc",
  174. "api/bluetooth/bluetooth_manifest_handler.h",
  175. "api/bluetooth/bluetooth_manifest_permission.cc",
  176. "api/bluetooth/bluetooth_manifest_permission.h",
  177. "api/commands/commands_handler.cc",
  178. "api/commands/commands_handler.h",
  179. "api/declarative/declarative_constants.cc",
  180. "api/declarative/declarative_constants.h",
  181. "api/declarative/declarative_manifest_data.cc",
  182. "api/declarative/declarative_manifest_data.h",
  183. "api/declarative/declarative_manifest_handler.cc",
  184. "api/declarative/declarative_manifest_handler.h",
  185. "api/declarative_net_request/constants.cc",
  186. "api/declarative_net_request/constants.h",
  187. "api/declarative_net_request/dnr_manifest_data.cc",
  188. "api/declarative_net_request/dnr_manifest_data.h",
  189. "api/declarative_net_request/dnr_manifest_handler.cc",
  190. "api/declarative_net_request/dnr_manifest_handler.h",
  191. "api/extension_action/action_info.cc",
  192. "api/extension_action/action_info.h",
  193. "api/messaging/message.h",
  194. "api/messaging/messaging_endpoint.cc",
  195. "api/messaging/messaging_endpoint.h",
  196. "api/messaging/port_context.cc",
  197. "api/messaging/port_context.h",
  198. "api/messaging/port_id.cc",
  199. "api/messaging/port_id.h",
  200. "api/printer_provider/usb_printer_manifest_data.cc",
  201. "api/printer_provider/usb_printer_manifest_data.h",
  202. "api/printer_provider/usb_printer_manifest_handler.cc",
  203. "api/printer_provider/usb_printer_manifest_handler.h",
  204. "api/sockets/sockets_manifest_data.cc",
  205. "api/sockets/sockets_manifest_data.h",
  206. "api/sockets/sockets_manifest_handler.cc",
  207. "api/sockets/sockets_manifest_handler.h",
  208. "api/sockets/sockets_manifest_permission.cc",
  209. "api/sockets/sockets_manifest_permission.h",
  210. "command.cc",
  211. "command.h",
  212. "common_manifest_handlers.cc",
  213. "common_manifest_handlers.h",
  214. "common_param_traits.h",
  215. "content_script_injection_url_getter.cc",
  216. "content_script_injection_url_getter.h",
  217. "cors_util.cc",
  218. "cors_util.h",
  219. "csp_validator.cc",
  220. "csp_validator.h",
  221. "dom_action_types.h",
  222. "draggable_region.cc",
  223. "draggable_region.h",
  224. "error_utils.cc",
  225. "error_utils.h",
  226. "event_filter.cc",
  227. "event_filter.h",
  228. "event_matcher.cc",
  229. "event_matcher.h",
  230. "extension.cc",
  231. "extension.h",
  232. "extension_api.cc",
  233. "extension_api.h",
  234. "extension_features.cc",
  235. "extension_features.h",
  236. "extension_icon_set.cc",
  237. "extension_icon_set.h",
  238. "extension_id.h",
  239. "extension_l10n_util.cc",
  240. "extension_l10n_util.h",
  241. "extension_message_generator.cc",
  242. "extension_message_generator.h",
  243. "extension_messages.h",
  244. "extension_paths.cc",
  245. "extension_paths.h",
  246. "extension_resource.cc",
  247. "extension_resource.h",
  248. "extension_resource_path_normalizer.cc",
  249. "extension_resource_path_normalizer.h",
  250. "extension_set.cc",
  251. "extension_set.h",
  252. "extension_updater_uma.h",
  253. "extension_urls.cc",
  254. "extension_urls.h",
  255. "extension_utility_types.h",
  256. "extensions_client.cc",
  257. "extensions_client.h",
  258. "feature_switch.cc",
  259. "feature_switch.h",
  260. "features/behavior_feature.cc",
  261. "features/behavior_feature.h",
  262. "features/complex_feature.cc",
  263. "features/complex_feature.h",
  264. "features/feature.cc",
  265. "features/feature.h",
  266. "features/feature_channel.cc",
  267. "features/feature_channel.h",
  268. "features/feature_developer_mode_only.cc",
  269. "features/feature_developer_mode_only.h",
  270. "features/feature_flags.cc",
  271. "features/feature_flags.h",
  272. "features/feature_provider.cc",
  273. "features/feature_provider.h",
  274. "features/feature_session_type.cc",
  275. "features/feature_session_type.h",
  276. "features/json_feature_provider_source.cc",
  277. "features/json_feature_provider_source.h",
  278. "features/manifest_feature.cc",
  279. "features/manifest_feature.h",
  280. "features/permission_feature.cc",
  281. "features/permission_feature.h",
  282. "features/simple_feature.cc",
  283. "features/simple_feature.h",
  284. "file_util.cc",
  285. "file_util.h",
  286. "hashed_extension_id.cc",
  287. "hashed_extension_id.h",
  288. "identifiability_metrics.cc",
  289. "identifiability_metrics.h",
  290. "image_util.cc",
  291. "image_util.h",
  292. "install_warning.cc",
  293. "install_warning.h",
  294. "manifest.cc",
  295. "manifest.h",
  296. "manifest_constants.cc",
  297. "manifest_constants.h",
  298. "manifest_handler.cc",
  299. "manifest_handler.h",
  300. "manifest_handler_helpers.cc",
  301. "manifest_handler_helpers.h",
  302. "manifest_handlers/app_isolation_info.cc",
  303. "manifest_handlers/app_isolation_info.h",
  304. "manifest_handlers/automation.cc",
  305. "manifest_handlers/automation.h",
  306. "manifest_handlers/background_info.cc",
  307. "manifest_handlers/background_info.h",
  308. "manifest_handlers/content_capabilities_handler.cc",
  309. "manifest_handlers/content_capabilities_handler.h",
  310. "manifest_handlers/content_scripts_handler.cc",
  311. "manifest_handlers/content_scripts_handler.h",
  312. "manifest_handlers/cross_origin_isolation_info.cc",
  313. "manifest_handlers/cross_origin_isolation_info.h",
  314. "manifest_handlers/csp_info.cc",
  315. "manifest_handlers/csp_info.h",
  316. "manifest_handlers/default_locale_handler.cc",
  317. "manifest_handlers/default_locale_handler.h",
  318. "manifest_handlers/extension_action_handler.cc",
  319. "manifest_handlers/extension_action_handler.h",
  320. "manifest_handlers/externally_connectable.cc",
  321. "manifest_handlers/externally_connectable.h",
  322. "manifest_handlers/file_handler_info.cc",
  323. "manifest_handlers/file_handler_info.h",
  324. "manifest_handlers/icons_handler.cc",
  325. "manifest_handlers/icons_handler.h",
  326. "manifest_handlers/incognito_info.cc",
  327. "manifest_handlers/incognito_info.h",
  328. "manifest_handlers/kiosk_mode_info.cc",
  329. "manifest_handlers/kiosk_mode_info.h",
  330. "manifest_handlers/mime_types_handler.cc",
  331. "manifest_handlers/mime_types_handler.h",
  332. "manifest_handlers/oauth2_manifest_handler.cc",
  333. "manifest_handlers/oauth2_manifest_handler.h",
  334. "manifest_handlers/offline_enabled_info.cc",
  335. "manifest_handlers/offline_enabled_info.h",
  336. "manifest_handlers/options_page_info.cc",
  337. "manifest_handlers/options_page_info.h",
  338. "manifest_handlers/permissions_parser.cc",
  339. "manifest_handlers/permissions_parser.h",
  340. "manifest_handlers/replacement_apps.cc",
  341. "manifest_handlers/replacement_apps.h",
  342. "manifest_handlers/requirements_info.cc",
  343. "manifest_handlers/requirements_info.h",
  344. "manifest_handlers/sandboxed_page_info.cc",
  345. "manifest_handlers/sandboxed_page_info.h",
  346. "manifest_handlers/shared_module_info.cc",
  347. "manifest_handlers/shared_module_info.h",
  348. "manifest_handlers/web_accessible_resources_info.cc",
  349. "manifest_handlers/web_accessible_resources_info.h",
  350. "manifest_handlers/webview_info.cc",
  351. "manifest_handlers/webview_info.h",
  352. "manifest_url_handlers.cc",
  353. "manifest_url_handlers.h",
  354. "message_bundle.cc",
  355. "message_bundle.h",
  356. "permissions/api_permission.cc",
  357. "permissions/api_permission.h",
  358. "permissions/api_permission_set.cc",
  359. "permissions/api_permission_set.h",
  360. "permissions/base_set_operators.h",
  361. "permissions/extensions_api_permissions.cc",
  362. "permissions/extensions_api_permissions.h",
  363. "permissions/manifest_permission.cc",
  364. "permissions/manifest_permission.h",
  365. "permissions/manifest_permission_set.cc",
  366. "permissions/manifest_permission_set.h",
  367. "permissions/permission_message.cc",
  368. "permissions/permission_message.h",
  369. "permissions/permission_message_provider.cc",
  370. "permissions/permission_message_provider.h",
  371. "permissions/permission_message_util.cc",
  372. "permissions/permission_message_util.h",
  373. "permissions/permission_set.cc",
  374. "permissions/permission_set.h",
  375. "permissions/permissions_data.cc",
  376. "permissions/permissions_data.h",
  377. "permissions/permissions_info.cc",
  378. "permissions/permissions_info.h",
  379. "permissions/set_disjunction_permission.h",
  380. "permissions/settings_override_permission.cc",
  381. "permissions/settings_override_permission.h",
  382. "permissions/socket_permission.cc",
  383. "permissions/socket_permission.h",
  384. "permissions/socket_permission_data.cc",
  385. "permissions/socket_permission_data.h",
  386. "permissions/socket_permission_entry.cc",
  387. "permissions/socket_permission_entry.h",
  388. "permissions/usb_device_permission.cc",
  389. "permissions/usb_device_permission.h",
  390. "permissions/usb_device_permission_data.cc",
  391. "permissions/usb_device_permission_data.h",
  392. "script_constants.h",
  393. "stack_frame.cc",
  394. "stack_frame.h",
  395. "switches.cc",
  396. "switches.h",
  397. "trace_util.cc",
  398. "trace_util.h",
  399. "url_pattern.cc",
  400. "url_pattern.h",
  401. "url_pattern_set.cc",
  402. "url_pattern_set.h",
  403. "user_script.cc",
  404. "user_script.h",
  405. "utils/base_string.cc",
  406. "utils/base_string.h",
  407. "utils/content_script_utils.cc",
  408. "utils/content_script_utils.h",
  409. "value_builder.cc",
  410. "value_builder.h",
  411. "value_counter.cc",
  412. "value_counter.h",
  413. "verifier_formats.cc",
  414. "verifier_formats.h",
  415. "view_type_util.cc",
  416. "view_type_util.h",
  417. ]
  418. configs += [
  419. "//build/config:precompiled_headers",
  420. "//build/config/compiler:wexit_time_destructors",
  421. ]
  422. public_deps = [
  423. ":common_constants",
  424. ":mojom",
  425. "//components/services/app_service/public/cpp:app_file_handling",
  426. "//content/public/common",
  427. "//ipc",
  428. "//skia",
  429. ]
  430. # Allows including manifest_handler.h and permissions/permissions_info.h
  431. # from mojom/permission_set_mojom_traits.cc.
  432. allow_circular_includes_from = [ ":mojom" ]
  433. deps = [
  434. "//base",
  435. "//build:branding_buildflags",
  436. "//build:chromeos_buildflags",
  437. "//components/crx_file",
  438. "//components/nacl/common:buildflags",
  439. "//components/url_formatter",
  440. "//components/url_matcher",
  441. "//components/version_info",
  442. "//crypto",
  443. "//device/bluetooth",
  444. "//device/bluetooth/public/cpp",
  445. "//extensions:extensions_resources",
  446. "//extensions/common:mojom",
  447. "//extensions/common/api",
  448. "//extensions/strings",
  449. "//net",
  450. "//services/device/public/cpp/usb",
  451. "//services/device/public/mojom:usb",
  452. "//services/network/public/mojom",
  453. "//third_party/boringssl",
  454. "//third_party/icu",
  455. "//third_party/re2",
  456. "//third_party/zlib/google:compression_utils",
  457. "//tools/json_schema_compiler:generated_api_util",
  458. "//ui/base",
  459. "//ui/gfx/geometry",
  460. "//ui/gfx/ipc",
  461. "//ui/gfx/ipc/geometry",
  462. "//ui/gfx/ipc/skia",
  463. "//url",
  464. ]
  465. if (enable_nacl) {
  466. sources += [
  467. "manifest_handlers/nacl_modules_handler.cc",
  468. "manifest_handlers/nacl_modules_handler.h",
  469. ]
  470. }
  471. if (is_chromeos) {
  472. sources += [
  473. "manifest_handlers/action_handlers_handler.cc",
  474. "manifest_handlers/action_handlers_handler.h",
  475. ]
  476. }
  477. }
  478. # NOTE: This is separate from ":common" because it depends on
  479. # extensions/common/api:extensions_features, which in turn depends on
  480. # :common.
  481. source_set("core_api_provider") {
  482. sources = [
  483. "core_extensions_api_provider.cc",
  484. "core_extensions_api_provider.h",
  485. ]
  486. configs += [ "//build/config/compiler:wexit_time_destructors" ]
  487. deps = [
  488. ":common",
  489. "//extensions:extensions_resources",
  490. "//extensions/common/api",
  491. "//extensions/common/api:extensions_features",
  492. ]
  493. }
  494. source_set("test_support") {
  495. testonly = true
  496. sources = [
  497. "api/declarative_net_request/test_utils.cc",
  498. "api/declarative_net_request/test_utils.h",
  499. "api/extension_action/action_info_test_util.cc",
  500. "api/extension_action/action_info_test_util.h",
  501. "file_test_util.cc",
  502. "file_test_util.h",
  503. ]
  504. deps = [
  505. ":common",
  506. "//base",
  507. "//components/version_info:channel",
  508. "//extensions/common/api",
  509. ]
  510. }
  511. source_set("unit_tests") {
  512. testonly = true
  513. sources = [
  514. "api/commands/commands_manifest_unittest.cc",
  515. "api/declarative/declarative_manifest_unittest.cc",
  516. "api/declarative_net_request/dnr_manifest_unittest.cc",
  517. "api/printer_provider/usb_printer_manifest_unittest.cc",
  518. "api/sockets/sockets_manifest_permission_unittest.cc",
  519. "command_unittest.cc",
  520. "component_extension_url_pattern_unittest.cc",
  521. "csp_validator_unittest.cc",
  522. "error_utils_unittest.cc",
  523. "event_filter_unittest.cc",
  524. "extension_builder_unittest.cc",
  525. "extension_icon_set_unittest.cc",
  526. "extension_l10n_util_unittest.cc",
  527. "extension_resource_path_normalizer_unittest.cc",
  528. "extension_resource_unittest.cc",
  529. "extension_set_unittest.cc",
  530. "extension_unittest.cc",
  531. "feature_switch_unittest.cc",
  532. "features/complex_feature_unittest.cc",
  533. "features/feature_provider_unittest.cc",
  534. "features/simple_feature_unittest.cc",
  535. "file_util_unittest.cc",
  536. "hashed_extension_id_unittest.cc",
  537. "image_util_unittest.cc",
  538. "manifest_handler_perf_test.cc",
  539. "manifest_handler_unittest.cc",
  540. "manifest_handlers/content_capabilities_manifest_unittest.cc",
  541. "manifest_handlers/csp_info_unittest.cc",
  542. "manifest_handlers/default_locale_manifest_unittest.cc",
  543. "manifest_handlers/extension_action_handler_unittest.cc",
  544. "manifest_handlers/externally_connectable_unittest.cc",
  545. "manifest_handlers/file_handler_manifest_unittest.cc",
  546. "manifest_handlers/icons_handler_unittest.cc",
  547. "manifest_handlers/incognito_manifest_unittest.cc",
  548. "manifest_handlers/kiosk_mode_info_unittest.cc",
  549. "manifest_handlers/manifest_v3_permissions_unittest.cc",
  550. "manifest_handlers/oauth2_manifest_unittest.cc",
  551. "manifest_handlers/replacement_apps_unittest.cc",
  552. "manifest_handlers/shared_module_manifest_unittest.cc",
  553. "manifest_unittest.cc",
  554. "message_bundle_unittest.cc",
  555. "mojom/permission_set_mojom_traits_unittest.cc",
  556. "mojom/url_pattern_set_mojom_traits_unittest.cc",
  557. "permissions/api_permission_set_unittest.cc",
  558. "permissions/api_permission_unittest.cc",
  559. "permissions/base_set_operators_unittest.cc",
  560. "permissions/manifest_permission_set_unittest.cc",
  561. "permissions/socket_permission_unittest.cc",
  562. "permissions/usb_device_permission_unittest.cc",
  563. "stack_frame_unittest.cc",
  564. "url_pattern_set_unittest.cc",
  565. "url_pattern_unittest.cc",
  566. "user_script_unittest.cc",
  567. "value_builder_unittest.cc",
  568. "value_counter_unittest.cc",
  569. ]
  570. deps = [
  571. ":common",
  572. ":test_support",
  573. "//base",
  574. "//base:i18n",
  575. "//base/test:test_support",
  576. "//components/crx_file",
  577. "//components/version_info:version_info",
  578. "//content/test:test_support",
  579. "//extensions:extensions_resources",
  580. "//extensions/common:mojom",
  581. "//extensions/common/api",
  582. "//mojo/public/cpp/test_support:test_utils",
  583. "//tools/json_schema_compiler:generated_api_util",
  584. # TODO(brettw) these tests should not be including headers from browser.
  585. "//extensions:test_support",
  586. "//extensions/browser",
  587. "//extensions/strings",
  588. "//ipc",
  589. "//services/device/public/cpp:test_support",
  590. "//testing/gmock",
  591. "//testing/gtest",
  592. "//third_party/zlib/google:compression_utils",
  593. "//ui/base",
  594. "//ui/gfx",
  595. "//url",
  596. ]
  597. if (is_chromeos_ash) {
  598. sources += [ "manifest_handlers/action_handlers_handler_unittest.cc" ]
  599. }
  600. data = [
  601. "//extensions/common/mojom/api_permission_id.mojom",
  602. "//tools/metrics/histograms/enums.xml",
  603. ]
  604. }
  605. fuzzer_test("extension_fuzzer") {
  606. sources = [ "extension_fuzzer.cc" ]
  607. deps = [
  608. ":common",
  609. "//base",
  610. ]
  611. }
  612. fuzzer_test("extension_manifest_fuzzer") {
  613. sources = [ "manifest_fuzzer.cc" ]
  614. deps = [
  615. ":common",
  616. "//base",
  617. "//extensions:test_support",
  618. ]
  619. }
  620. fuzzer_test("extension_url_pattern_fuzzer") {
  621. sources = [ "url_pattern_fuzzer.cc" ]
  622. deps = [
  623. ":common",
  624. "//base",
  625. ]
  626. }
  627. fuzzer_test("extension_csp_validator_fuzzer") {
  628. sources = [ "csp_validator_fuzzer.cc" ]
  629. deps = [
  630. ":common",
  631. "//base",
  632. "//third_party/icu/fuzzers:fuzzer_support",
  633. ]
  634. }