BUILD.gn 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634
  1. # Copyright 2015 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/apple/compile_entitlements.gni")
  5. import("//build/apple/tweak_info_plist.gni")
  6. import("//build/buildflag_header.gni")
  7. import("//build/config/ios/ios_sdk.gni")
  8. import("//build/config/ios/rules.gni")
  9. import("//build/ios/extension_bundle_data.gni")
  10. import("//ios/build/chrome_build.gni")
  11. import("//ios/build/config.gni")
  12. import("//ios/chrome/features.gni")
  13. import("//ios/public/provider/chrome/browser/build_config.gni")
  14. buildflag_header("buildflags") {
  15. header = "background_mode_buildflags.h"
  16. flags = [ "IOS_BACKGROUND_MODE_ENABLED=$ios_enable_background_mode" ]
  17. }
  18. source_set("app") {
  19. configs += [ "//build/config/compiler:enable_arc" ]
  20. sources = [
  21. "app_startup_parameters.h",
  22. "app_startup_parameters.mm",
  23. "deferred_initialization_runner.h",
  24. "deferred_initialization_runner.mm",
  25. ]
  26. deps = [
  27. "//base",
  28. "//ios/chrome/browser",
  29. "//ios/chrome/browser/ui:feature_flags",
  30. "//net",
  31. "//url",
  32. ]
  33. frameworks = [ "Foundation.framework" ]
  34. }
  35. source_set("unit_tests") {
  36. configs += [ "//build/config/compiler:enable_arc" ]
  37. testonly = true
  38. sources = [
  39. "app_metrics_app_state_agent_unittest.mm",
  40. "deferred_initialization_runner_unittest.mm",
  41. "main_application_delegate_unittest.mm",
  42. "safe_mode_app_state_agent_unittest.mm",
  43. "tab_opener_unittest.mm",
  44. ]
  45. deps = [
  46. ":app",
  47. ":app_internal",
  48. ":app_metrics_app_state_agent",
  49. ":safe_mode_app_state_agent",
  50. "//base",
  51. "//base/test:test_support",
  52. "//components/metrics",
  53. "//components/prefs",
  54. "//components/sync_preferences:sync_preferences",
  55. "//components/sync_preferences:test_support",
  56. "//ios/chrome/app:enterprise_app_agent",
  57. "//ios/chrome/app/application_delegate",
  58. "//ios/chrome/app/application_delegate:application_delegate_internal",
  59. "//ios/chrome/app/application_delegate:tab_opening",
  60. "//ios/chrome/app/application_delegate:test_support",
  61. "//ios/chrome/app/application_delegate:url_opener_params",
  62. "//ios/chrome/browser",
  63. "//ios/chrome/browser/browser_state:test_support",
  64. "//ios/chrome/browser/metrics:metrics",
  65. "//ios/chrome/browser/prefs:browser_prefs",
  66. "//ios/chrome/browser/tabs",
  67. "//ios/chrome/browser/ui/main:scene",
  68. "//ios/chrome/browser/ui/main:scene_state_header",
  69. "//ios/chrome/browser/ui/main/test",
  70. "//ios/chrome/browser/ui/safe_mode",
  71. "//ios/chrome/common/app_group",
  72. "//ios/chrome/test:test_support",
  73. "//ios/public/provider/chrome/browser:browser",
  74. "//ios/public/provider/chrome/browser:test_support",
  75. "//ios/public/provider/chrome/browser/app_distribution:app_distribution_api",
  76. "//ios/testing:block_swizzler",
  77. "//ios/third_party/material_components_ios",
  78. "//ios/web/public/test:test",
  79. "//testing/gtest",
  80. "//third_party/ocmock",
  81. "//url",
  82. ]
  83. }
  84. source_set("tests_hook") {
  85. # This target is intentionally not test-only, as the main app depends on it.
  86. sources = [ "tests_hook.h" ]
  87. }
  88. source_set("tests_fake_hook") {
  89. configs += [ "//build/config/compiler:enable_arc" ]
  90. # This target is intentionally not test-only, as the main app depends on it.
  91. sources = [ "tests_fake_hook.mm" ]
  92. deps = [ ":tests_hook" ]
  93. }
  94. if (!is_fat_secondary_toolchain) {
  95. tweak_info_plist("info_plist") {
  96. info_plists = [
  97. "resources/Info.plist",
  98. "resources/ChromeAddition+Info.plist",
  99. ]
  100. if (ios_enable_background_mode) {
  101. info_plists += [ "resources/Background+Info.plist" ]
  102. }
  103. if (target_environment == "catalyst") {
  104. info_plists += [ "resources/Environment+Catalyst.plist" ]
  105. } else {
  106. info_plists += [ "resources/Environment+Default.plist" ]
  107. }
  108. if (ios_chrome_info_plist_additions != []) {
  109. info_plists += ios_chrome_info_plist_additions
  110. }
  111. if (ios_encryption_export_compliance_code != "") {
  112. info_plists += [ "resources/EncryptionExportCompliance+Info.plist" ]
  113. }
  114. if (ios_chrome_info_plist_addition_targets != []) {
  115. if (!defined(deps)) {
  116. deps = []
  117. }
  118. deps += ios_chrome_info_plist_addition_targets
  119. }
  120. args = [
  121. "--breakpad=$breakpad_enabled_as_int",
  122. "--branding=$chromium_short_name",
  123. "--add-gtm-metadata=1",
  124. ]
  125. }
  126. compile_entitlements("entitlements") {
  127. entitlements_templates = [ "resources/Chrome.entitlements" ]
  128. if (ios_chrome_entitlements_additions != []) {
  129. entitlements_templates += ios_chrome_entitlements_additions
  130. }
  131. if (target_environment == "catalyst") {
  132. entitlements_templates +=
  133. [ "resources/Environment+Catalyst.entitlements" ]
  134. }
  135. substitutions = [ "IOS_BUNDLE_ID_PREFIX=$ios_app_bundle_id_prefix" ]
  136. output_name = "$target_gen_dir/$chromium_short_name.entitlements"
  137. }
  138. }
  139. if (ios_enable_credential_provider_extension) {
  140. source_set("credential_provider_migrator_app_agent") {
  141. configs += [ "//build/config/compiler:enable_arc" ]
  142. sources = [
  143. "credential_provider_migrator_app_agent.h",
  144. "credential_provider_migrator_app_agent.mm",
  145. ]
  146. deps = [
  147. "//components/keyed_service/core",
  148. "//ios/chrome/app/application_delegate:app_state_header",
  149. "//ios/chrome/app/application_delegate:observing_app_state_agent",
  150. "//ios/chrome/browser/credential_provider",
  151. "//ios/chrome/browser/passwords:store_factory",
  152. "//ios/chrome/browser/ui/main:browser_interface_provider",
  153. "//ios/chrome/browser/ui/main:scene_state_header",
  154. "//ios/chrome/common/app_group",
  155. "//ios/chrome/common/credential_provider",
  156. ]
  157. }
  158. }
  159. source_set("app_metrics_app_state_agent") {
  160. configs += [ "//build/config/compiler:enable_arc" ]
  161. sources = [
  162. "app_metrics_app_state_agent.h",
  163. "app_metrics_app_state_agent.mm",
  164. ]
  165. deps = [
  166. "//base",
  167. "//ios/chrome/app/application_delegate:application_delegate_internal",
  168. "//ios/chrome/app/application_delegate:observing_app_state_agent",
  169. "//ios/chrome/browser/metrics",
  170. "//ios/chrome/browser/ui/main:scene_state_header",
  171. ]
  172. }
  173. source_set("safe_mode_app_state_agent") {
  174. configs += [ "//build/config/compiler:enable_arc" ]
  175. sources = [
  176. "safe_mode_app_state_agent.h",
  177. "safe_mode_app_state_agent.mm",
  178. ]
  179. deps = [
  180. "//base",
  181. "//ios/chrome/app/application_delegate:app_state_header",
  182. "//ios/chrome/browser/ui/main:observing_scene_agent",
  183. "//ios/chrome/browser/ui/safe_mode",
  184. ]
  185. }
  186. source_set("enterprise_app_agent") {
  187. configs += [ "//build/config/compiler:enable_arc" ]
  188. sources = [
  189. "enterprise_app_agent.h",
  190. "enterprise_app_agent.mm",
  191. ]
  192. deps = [
  193. ":enterprise_app_agent_ui",
  194. "//base",
  195. "//components/policy/core/common",
  196. "//ios/chrome/app:tests_hook",
  197. "//ios/chrome/app/application_delegate:app_state_header",
  198. "//ios/chrome/app/application_delegate:application_delegate_internal",
  199. "//ios/chrome/browser",
  200. "//ios/chrome/browser/policy",
  201. "//ios/chrome/browser/ui/first_run:utils",
  202. "//ios/chrome/browser/ui/main:scene_state_header",
  203. ]
  204. }
  205. source_set("enterprise_app_agent_ui") {
  206. configs += [ "//build/config/compiler:enable_arc" ]
  207. sources = [
  208. "enterprise_loading_screen_view_controller.h",
  209. "enterprise_loading_screen_view_controller.mm",
  210. ]
  211. deps = [
  212. "//base",
  213. "//ios/chrome/app/strings:ios_chromium_strings_grit",
  214. "//ios/chrome/browser/ui/first_run:constants",
  215. "//ios/chrome/common/ui/colors",
  216. "//ios/chrome/common/ui/util",
  217. "//ios/chrome/common/ui/util:dynamic_type_util",
  218. ]
  219. }
  220. source_set("first_run_app_state_agent") {
  221. configs += [ "//build/config/compiler:enable_arc" ]
  222. sources = [
  223. "first_run_app_state_agent.h",
  224. "first_run_app_state_agent.mm",
  225. ]
  226. deps = [
  227. "//base",
  228. "//ios/chrome/app:blocking_scene_commands",
  229. "//ios/chrome/app/application_delegate:app_state_header",
  230. "//ios/chrome/app/application_delegate:application_delegate_internal",
  231. "//ios/chrome/browser",
  232. "//ios/chrome/browser/browsing_data",
  233. "//ios/chrome/browser/geolocation",
  234. "//ios/chrome/browser/policy",
  235. "//ios/chrome/browser/ui:feature_flags",
  236. "//ios/chrome/browser/ui/blocking_overlay",
  237. "//ios/chrome/browser/ui/browser_view",
  238. "//ios/chrome/browser/ui/commands:commands",
  239. "//ios/chrome/browser/ui/first_run",
  240. "//ios/chrome/browser/ui/first_run:field_trial",
  241. "//ios/chrome/browser/ui/first_run:first_run_provider",
  242. "//ios/chrome/browser/ui/first_run:utils",
  243. "//ios/chrome/browser/ui/main:browser_interface_provider",
  244. "//ios/chrome/browser/ui/main:observing_scene_agent",
  245. "//ios/chrome/browser/ui/main:scene_state_header",
  246. "//ios/chrome/browser/ui/screen:screen_provider",
  247. ]
  248. }
  249. source_set("feed_app_agent") {
  250. configs += [ "//build/config/compiler:enable_arc" ]
  251. sources = [
  252. "feed_app_agent.h",
  253. "feed_app_agent.mm",
  254. ]
  255. deps = [
  256. "//base",
  257. "//ios/chrome/app/application_delegate:app_state_header",
  258. "//ios/chrome/app/application_delegate:observing_app_state_agent",
  259. "//ios/chrome/browser/browser_state",
  260. "//ios/chrome/browser/discover_feed:discover_feed",
  261. "//ios/chrome/browser/discover_feed:discover_feed_factory",
  262. "//ios/chrome/browser/ntp:features",
  263. ]
  264. frameworks = [
  265. "BackgroundTasks.framework",
  266. "UserNotifications.framework",
  267. ]
  268. }
  269. source_set("app_internal") {
  270. configs += [ "//build/config/compiler:enable_arc" ]
  271. sources = [
  272. "chrome_overlay_window.h",
  273. "chrome_overlay_window.mm",
  274. "main_application_delegate.h",
  275. "main_application_delegate.mm",
  276. "main_application_delegate_testing.h",
  277. "main_controller.h",
  278. "main_controller.mm",
  279. "main_controller_private.h",
  280. "memory_monitor.h",
  281. "memory_monitor.mm",
  282. "startup_tasks.h",
  283. "startup_tasks.mm",
  284. ]
  285. deps = [
  286. ":app",
  287. ":app_metrics_app_state_agent",
  288. ":blocking_scene_commands",
  289. ":enterprise_app_agent",
  290. ":feed_app_agent",
  291. ":first_run_app_state_agent",
  292. ":mode",
  293. ":safe_mode_app_state_agent",
  294. ":tests_hook",
  295. "//base",
  296. "//build:branding_buildflags",
  297. "//components/bookmarks/browser",
  298. "//components/breadcrumbs/core",
  299. "//components/breadcrumbs/core:feature_flags",
  300. "//components/browser_sync",
  301. "//components/browsing_data/core",
  302. "//components/component_updater",
  303. "//components/component_updater:crl_set_remover",
  304. "//components/component_updater/installer_policies",
  305. "//components/crash/core/common",
  306. "//components/favicon/core",
  307. "//components/favicon_base",
  308. "//components/feature_engagement",
  309. "//components/handoff",
  310. "//components/history/core/browser",
  311. "//components/infobars/core",
  312. "//components/keyed_service/core",
  313. "//components/keyed_service/ios",
  314. "//components/metrics",
  315. "//components/password_manager/core/common",
  316. "//components/prefs",
  317. "//components/prefs/ios",
  318. "//components/previous_session_info",
  319. "//components/proxy_config",
  320. "//components/sync",
  321. "//components/web_resource",
  322. "//ios/chrome/app/application_delegate",
  323. "//ios/chrome/app/application_delegate:application_delegate_internal",
  324. "//ios/chrome/app/application_delegate:tab_opening",
  325. "//ios/chrome/app/application_delegate:url_opener_params",
  326. "//ios/chrome/app/spotlight",
  327. "//ios/chrome/app/startup",
  328. "//ios/chrome/app/startup:startup_basic",
  329. "//ios/chrome/app/strings",
  330. "//ios/chrome/browser",
  331. "//ios/chrome/browser/accessibility",
  332. "//ios/chrome/browser/bookmarks",
  333. "//ios/chrome/browser/browser_state",
  334. "//ios/chrome/browser/browser_state:browser_state_impl",
  335. "//ios/chrome/browser/browsing_data",
  336. "//ios/chrome/browser/crash_report",
  337. "//ios/chrome/browser/crash_report:crash_report_internal",
  338. "//ios/chrome/browser/crash_report/breadcrumbs",
  339. "//ios/chrome/browser/credential_provider:buildflags",
  340. "//ios/chrome/browser/download",
  341. "//ios/chrome/browser/external_files",
  342. "//ios/chrome/browser/favicon",
  343. "//ios/chrome/browser/feature_engagement",
  344. "//ios/chrome/browser/first_run",
  345. "//ios/chrome/browser/geolocation",
  346. "//ios/chrome/browser/history",
  347. "//ios/chrome/browser/mailto_handler",
  348. "//ios/chrome/browser/mailto_handler:mailto_handler_factory",
  349. "//ios/chrome/browser/main",
  350. "//ios/chrome/browser/memory",
  351. "//ios/chrome/browser/metrics",
  352. "//ios/chrome/browser/metrics:metrics_internal",
  353. "//ios/chrome/browser/ntp:features",
  354. "//ios/chrome/browser/omaha",
  355. "//ios/chrome/browser/passwords",
  356. "//ios/chrome/browser/reading_list",
  357. "//ios/chrome/browser/screenshot",
  358. "//ios/chrome/browser/search_engines",
  359. "//ios/chrome/browser/search_engines:extension_search_engine_data_updater",
  360. "//ios/chrome/browser/sessions:scene_util",
  361. "//ios/chrome/browser/share_extension",
  362. "//ios/chrome/browser/signin",
  363. "//ios/chrome/browser/snapshots",
  364. "//ios/chrome/browser/sync",
  365. "//ios/chrome/browser/ui:feature_flags",
  366. "//ios/chrome/browser/ui/appearance",
  367. "//ios/chrome/browser/ui/authentication",
  368. "//ios/chrome/browser/ui/commands",
  369. "//ios/chrome/browser/ui/download",
  370. "//ios/chrome/browser/ui/first_run",
  371. "//ios/chrome/browser/ui/first_run:utils",
  372. "//ios/chrome/browser/ui/main",
  373. "//ios/chrome/browser/ui/main:scene",
  374. "//ios/chrome/browser/ui/main:scene_state_header",
  375. "//ios/chrome/browser/ui/tab_switcher/tab_grid",
  376. "//ios/chrome/browser/ui/tab_switcher/tab_grid:tab_grid_ui",
  377. "//ios/chrome/browser/ui/table_view",
  378. "//ios/chrome/browser/ui/tabs",
  379. "//ios/chrome/browser/ui/toolbar:toolbar_ui",
  380. "//ios/chrome/browser/ui/toolbar/public",
  381. "//ios/chrome/browser/ui/util",
  382. "//ios/chrome/browser/ui/webui:webui_internal",
  383. "//ios/chrome/browser/upgrade",
  384. "//ios/chrome/browser/url_loading",
  385. "//ios/chrome/browser/variations:ios_chrome_ui_string_overrider_factory",
  386. "//ios/chrome/browser/voice",
  387. "//ios/chrome/browser/web",
  388. "//ios/chrome/browser/web:web_internal",
  389. "//ios/chrome/browser/web/session_state",
  390. "//ios/chrome/browser/web_state_list",
  391. "//ios/chrome/common/app_group",
  392. "//ios/chrome/common/app_group:main_app",
  393. "//ios/chrome/common/intents",
  394. "//ios/components/cookie_util",
  395. "//ios/net",
  396. "//ios/public/provider/chrome/browser",
  397. "//ios/public/provider/chrome/browser/app_distribution:app_distribution_api",
  398. "//ios/public/provider/chrome/browser/overrides:overrides_api",
  399. "//ios/public/provider/chrome/browser/ui_utils:ui_utils_api",
  400. "//ios/public/provider/chrome/browser/user_feedback",
  401. "//ios/third_party/material_components_ios",
  402. "//ios/web/common:features",
  403. "//ios/web/common:uikit",
  404. "//ios/web/public/webui",
  405. "//net",
  406. "//skia",
  407. "//ui/base",
  408. "//ui/gfx",
  409. "//ui/resources",
  410. "//ui/strings:ui_strings",
  411. ]
  412. if (ios_enable_credential_provider_extension) {
  413. deps += [
  414. ":credential_provider_migrator_app_agent",
  415. "//ios/chrome/browser/credential_provider",
  416. ]
  417. }
  418. frameworks = [
  419. "CoreSpotlight.framework",
  420. "MediaPlayer.framework",
  421. ]
  422. allow_circular_includes_from = [
  423. "//ios/chrome/app/application_delegate:application_delegate_internal",
  424. "//ios/chrome/browser/ui/main:scene",
  425. ]
  426. }
  427. source_set("blocking_scene_commands") {
  428. configs += [ "//build/config/compiler:enable_arc" ]
  429. sources = [ "blocking_scene_commands.h" ]
  430. deps = [ "//base" ]
  431. }
  432. source_set("mode") {
  433. configs += [ "//build/config/compiler:enable_arc" ]
  434. sources = [ "application_mode.h" ]
  435. deps = [ "//base" ]
  436. }
  437. source_set("main") {
  438. configs += [ "//build/config/compiler:enable_arc" ]
  439. sources = [ "chrome_exe_main.mm" ]
  440. deps = [
  441. ":app_internal",
  442. "//base",
  443. "//components/crash/core/common",
  444. "//ios/chrome/app/startup:ios_enable_sandbox_dump_buildflags",
  445. "//ios/chrome/app/startup:startup_basic",
  446. "//ios/chrome/browser/crash_report",
  447. "//ios/chrome/common",
  448. ]
  449. if (ios_enable_sandbox_dump) {
  450. deps += [ "//ios/chrome/app/startup:sandbox_dump" ]
  451. }
  452. if (ios_chrome_links_with_material_components_framework) {
  453. deps += [
  454. "//ios/third_party/material_components_ios:material_components_ios+bundle",
  455. "//ios/third_party/material_components_ios:material_components_ios+link",
  456. ]
  457. } else {
  458. assert_no_deps = [
  459. "//ios/third_party/material_components_ios:material_components_ios+bundle",
  460. "//ios/third_party/material_components_ios:material_components_ios+link",
  461. ]
  462. }
  463. }
  464. source_set("multitasking_test_app_delegate") {
  465. configs += [ "//build/config/compiler:enable_arc" ]
  466. sources = [
  467. "multitasking_test_application_delegate.h",
  468. "multitasking_test_application_delegate.mm",
  469. "multitasking_test_scene_delegate.h",
  470. "multitasking_test_scene_delegate.mm",
  471. ]
  472. deps = [
  473. ":app_internal",
  474. "//base",
  475. "//ios/chrome/app/application_delegate:application_delegate_internal",
  476. "//ios/chrome/browser/ui/main:scene",
  477. "//ios/third_party/material_components_ios",
  478. ]
  479. }
  480. ios_app_bundle("chrome") {
  481. output_name = chromium_short_name
  482. entitlements_target = ":entitlements"
  483. info_plist_target = ":info_plist"
  484. bundle_identifier = "$chromium_bundle_id"
  485. bundle_deps = [ "//ios/chrome/app/resources" ]
  486. if (!is_chrome_branded || ios_chrome_app_variants == []) {
  487. assert(ios_application_icons_target != "",
  488. "ios_application_icons_target must be defined.")
  489. bundle_deps += [ ios_application_icons_target ]
  490. bundle_deps += ios_providers_resources_targets
  491. } else {
  492. variants = ios_chrome_app_variants
  493. }
  494. xcode_extra_attributes = {
  495. SUPPORTS_MACCATALYST = "YES"
  496. }
  497. deps = [
  498. ":main",
  499. ":tests_fake_hook",
  500. # Use the provider API controlled by args.gn.
  501. ios_provider_target,
  502. ]
  503. if (current_toolchain == default_toolchain) {
  504. if (ios_enable_search_widget_extension) {
  505. deps += [ ":search_widget_extension_bundle" ]
  506. }
  507. if (ios_enable_content_widget_extension) {
  508. deps += [ ":content_widget_extension_bundle" ]
  509. }
  510. if (ios_enable_share_extension) {
  511. deps += [ ":share_extension_bundle" ]
  512. }
  513. if (ios_enable_credential_provider_extension) {
  514. deps += [ ":credential_provider_extension_bundle" ]
  515. }
  516. if (ios_enable_widget_kit_extension) {
  517. deps += [ ":widget_kit_extension_bundle" ]
  518. }
  519. if (ios_enable_intents_extension) {
  520. deps += [ ":intents_extension_bundle" ]
  521. }
  522. }
  523. extra_substitutions = [
  524. "CONTENT_WIDGET_EXTENSION_BUNDLE_ID=$chromium_bundle_id.ContentTodayExtension",
  525. "CHROMIUM_BUNDLE_ID=$chromium_bundle_id",
  526. "CHROMIUM_HANDOFF_ID=$chromium_handoff_id",
  527. "CHROMIUM_SHORT_NAME=$chromium_short_name",
  528. "CHROMIUM_URL_SCHEME_1=$url_unsecure_scheme",
  529. "CHROMIUM_URL_SCHEME_2=$url_secure_scheme",
  530. "CHROMIUM_URL_SCHEME_3=$url_x_callback_scheme",
  531. "CHROMIUM_URL_CHANNEL_SCHEME=$url_channel_scheme",
  532. "SSOAUTH_URL_SCHEME=$url_ssoauth_scheme",
  533. "IOS_MOVE_TAB_ACTIVITY_TYPE=$ios_move_tab_activity_type",
  534. ]
  535. if (ios_encryption_export_compliance_code != "") {
  536. extra_substitutions += [ "ENCRYPTION_EXPORT_COMPLIANCE_CODE=" +
  537. ios_encryption_export_compliance_code ]
  538. }
  539. assert_no_deps = ios_assert_no_deps + ios_chrome_extra_assert_no_deps
  540. if (ios_chrome_links_with_material_components_framework) {
  541. deps += [
  542. "//ios/third_party/material_components_ios:material_components_ios+bundle",
  543. "//ios/third_party/material_components_ios:material_components_ios+link",
  544. ]
  545. } else {
  546. assert_no_deps += [
  547. "//ios/third_party/material_components_ios:material_components_ios+bundle",
  548. "//ios/third_party/material_components_ios:material_components_ios+link",
  549. ]
  550. }
  551. }
  552. if (current_toolchain == default_toolchain) {
  553. if (ios_enable_search_widget_extension) {
  554. extension_bundle_data("search_widget_extension_bundle") {
  555. extension_target =
  556. "//ios/chrome/search_widget_extension(${current_toolchain}_13_0)"
  557. }
  558. }
  559. if (ios_enable_content_widget_extension) {
  560. extension_bundle_data("content_widget_extension_bundle") {
  561. extension_target =
  562. "//ios/chrome/content_widget_extension(${current_toolchain}_13_0)"
  563. }
  564. }
  565. if (ios_enable_share_extension) {
  566. extension_bundle_data("share_extension_bundle") {
  567. extension_target = "//ios/chrome/share_extension"
  568. }
  569. }
  570. if (ios_enable_credential_provider_extension) {
  571. extension_bundle_data("credential_provider_extension_bundle") {
  572. extension_target = "//ios/chrome/credential_provider_extension"
  573. }
  574. }
  575. if (ios_enable_widget_kit_extension) {
  576. extension_bundle_data("widget_kit_extension_bundle") {
  577. extension_target = "//ios/chrome/widget_kit_extension"
  578. }
  579. }
  580. if (ios_enable_intents_extension) {
  581. extension_bundle_data("intents_extension_bundle") {
  582. extension_target = "//ios/chrome/intents_extension"
  583. }
  584. }
  585. }