blob: 564985e4bca675ff8392ecf0a20b3aea51fb1a9d [file] [log] [blame]
sdefresne0ddaed52015-11-19 10:40:021# 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
sdefresnee7fd94062016-12-12 13:21:085import("//build/buildflag_header.gni")
sdefresne0ddaed52015-11-19 10:40:026import("//build/config/features.gni")
sdefresne3dba2c72016-12-08 22:06:397import("//build/config/ios/rules.gni")
Scott Violeta5f7ba12018-04-02 22:03:408import("//rlz/buildflags/buildflags.gni")
sdefresne3bdd5632016-03-26 00:06:269import("//third_party/protobuf/proto_library.gni")
sdefresne0ddaed52015-11-19 10:40:0210
marq21be5ad2017-05-09 13:20:3611source_set("chrome_paths") {
12 configs += [ "//build/config/compiler:enable_arc" ]
13 sources = [
14 "chrome_paths.h",
15 "chrome_paths.mm",
16 "chrome_paths_internal.h",
17 ]
18
19 deps = [
20 "//base",
21 "//components/gcm_driver",
22 ]
23}
24
sdefresnecd5a0de2016-10-28 12:32:3625source_set("browser") {
stkhapuginc1be1792016-12-13 14:30:5326 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne0ddaed52015-11-19 10:40:0227 sources = [
sdefresnee7fd94062016-12-12 13:21:0828 "about_flags.h",
29 "about_flags.mm",
sdefresne0ddaed52015-11-19 10:40:0230 "app_startup_parameters.h",
31 "app_startup_parameters.mm",
32 "application_context.cc",
33 "application_context.h",
sdefresne0ddaed52015-11-19 10:40:0234 "arch_util.cc",
35 "arch_util.h",
sdefresne564addb2016-10-06 12:45:1836 "browser_about_rewriter.cc",
37 "browser_about_rewriter.h",
Jérôme Lebel7fbc0e12017-07-04 23:31:5538 "chrome_browser_provider_observer_bridge.h",
39 "chrome_browser_provider_observer_bridge.mm",
sdefresne0ddaed52015-11-19 10:40:0240 "chrome_constants.cc",
41 "chrome_constants.h",
edchin4dc789d2017-04-12 16:13:1742 "chrome_root_coordinator.h",
43 "chrome_root_coordinator.mm",
sdefresne0ddaed52015-11-19 10:40:0244 "chrome_switches.cc",
45 "chrome_switches.h",
46 "chrome_url_constants.cc",
47 "chrome_url_constants.h",
48 "chrome_url_util.h",
49 "chrome_url_util.mm",
sdefresne0ddaed52015-11-19 10:40:0250 "crash_loop_detection_util.h",
51 "crash_loop_detection_util.mm",
sdefresne0ddaed52015-11-19 10:40:0252 "experimental_flags.h",
53 "experimental_flags.mm",
sdefresne0ddaed52015-11-19 10:40:0254 "file_metadata_util.h",
55 "file_metadata_util.mm",
sdefresne0ddaed52015-11-19 10:40:0256 "install_time_util.h",
57 "install_time_util.mm",
58 "installation_notifier.h",
59 "installation_notifier.mm",
sdefresne0ddaed52015-11-19 10:40:0260 "ios_chrome_field_trials.h",
vabr0215a8e2017-03-28 12:47:3461 "ios_chrome_flag_descriptions.cc",
62 "ios_chrome_flag_descriptions.h",
sdefresne3bdd5632016-03-26 00:06:2663 "ios_chrome_io_thread.h",
64 "ios_chrome_io_thread.mm",
gchatz33e17a12016-05-04 22:34:1065 "notification_promo.cc",
66 "notification_promo.h",
sdefresne0ddaed52015-11-19 10:40:0267 "pref_names.cc",
68 "pref_names.h",
sdefresne0ddaed52015-11-19 10:40:0269 "procedural_block_types.h",
sdefresne0ddaed52015-11-19 10:40:0270 "tab_parenting_global_observer.cc",
71 "tab_parenting_global_observer.h",
sdefresne0ddaed52015-11-19 10:40:0272 "web_data_service_factory.cc",
73 "web_data_service_factory.h",
sdefresne0ddaed52015-11-19 10:40:0274 ]
marq21be5ad2017-05-09 13:20:3675
sdefresne0ddaed52015-11-19 10:40:0276 deps = [
sdefresneae441042016-12-09 13:24:3577 ":settings_resources",
sdefresne0ddaed52015-11-19 10:40:0278 "//base",
sdefresne0ddaed52015-11-19 10:40:0279 "//components/autofill/core/browser",
80 "//components/autofill/core/common",
Olivier Robin3d60411622018-02-23 10:03:2281 "//components/autofill/ios/browser",
sdefresnee7fd94062016-12-12 13:21:0882 "//components/dom_distiller/core",
Tommy Nyquistc1d6dea12017-07-26 20:37:2383 "//components/feature_engagement",
sdefresnee7fd94062016-12-12 13:21:0884 "//components/flags_ui",
85 "//components/flags_ui:switches",
rohitraof5225f682016-11-08 23:44:2786 "//components/handoff",
sdefresne0ddaed52015-11-19 10:40:0287 "//components/keyed_service/core",
88 "//components/keyed_service/ios",
sdefresne0ddaed52015-11-19 10:40:0289 "//components/metrics",
sdefresneb54407f2015-12-17 13:19:4690 "//components/metrics_services_manager",
sdefresne0ddaed52015-11-19 10:40:0291 "//components/net_log",
Eric Noyau4793d932016-11-16 16:19:2392 "//components/ntp_tiles",
Justin Donnelly33d712e2017-08-23 21:32:5193 "//components/omnibox/browser",
Vaclav Brozekf7e813e2017-07-03 13:36:4194 "//components/password_manager/core/common:common",
mathp9b4c11d2017-07-06 20:24:1395 "//components/payments/core",
sdefresne0ddaed52015-11-19 10:40:0296 "//components/pref_registry",
brettw9f7802a22016-01-30 06:40:1797 "//components/prefs",
sdefresne0ddaed52015-11-19 10:40:0298 "//components/proxy_config",
michaeldof74ae042017-05-20 04:56:0399 "//components/proxy_config/ios",
olivierrobin0c6cd0ca2016-11-24 22:40:35100 "//components/reading_list/ios",
sdefresne0ddaed52015-11-19 10:40:02101 "//components/search_engines",
Marc Treib2752e8b2017-08-04 14:12:09102 "//components/search_provider_logos",
elawrence816f6790e2017-06-16 18:19:28103 "//components/security_state/core",
sdefresne0ddaed52015-11-19 10:40:02104 "//components/signin/core/browser",
sdefresnee7fd94062016-12-12 13:21:08105 "//components/strings",
106 "//components/sync",
sdefresne0ddaed52015-11-19 10:40:02107 "//components/translate/core/browser",
droger18da672c2016-01-25 12:16:21108 "//components/url_formatter",
sdefresne0ddaed52015-11-19 10:40:02109 "//components/variations",
110 "//components/variations/service",
111 "//components/version_info",
sdefresne0ddaed52015-11-19 10:40:02112 "//components/webdata_services",
sdefresnee7fd94062016-12-12 13:21:08113 "//google_apis",
114 "//ios/chrome/app/strings",
sdefresne87704da22016-10-26 17:01:19115 "//ios/chrome/browser/browser_state",
Sylvain Defresneae6987e2018-03-01 13:21:40116 "//ios/chrome/browser/browsing_data:features",
Eugene But76178d772017-12-05 19:47:01117 "//ios/chrome/browser/download",
Jean-François Geyelinfc457d62017-08-09 19:23:38118 "//ios/chrome/browser/drag_and_drop",
mrefaat390f99c0d2018-05-10 19:44:24119 "//ios/chrome/browser/itunes_urls",
Daniel Blakemore72387d32018-02-13 23:45:55120 "//ios/chrome/browser/mailto:features",
Mohamad Ahmadia3da0372017-10-10 16:00:59121 "//ios/chrome/browser/payments:constants",
Mike Doughertya5e5ad52017-08-05 00:11:58122 "//ios/chrome/browser/ssl:features",
sdefresne87704da22016-10-26 17:01:19123 "//ios/chrome/browser/sync/glue",
Justin Cohen2d81c582018-01-22 14:46:44124 "//ios/chrome/browser/ui:feature_flags",
Kurt Horimotoef74b5d2017-12-20 22:15:53125 "//ios/chrome/browser/ui/coordinators:chrome_coordinators",
Louis Romerod11747a2017-10-20 20:10:35126 "//ios/chrome/browser/ui/external_search:features",
Kurt Horimoto4da682b022018-04-12 07:43:35127 "//ios/chrome/browser/ui/fullscreen:features",
sczsa0c91942017-10-26 18:39:59128 "//ios/chrome/browser/ui/history:history_base_feature",
Rohit Rao6a3a481d2017-09-25 19:31:41129 "//ios/chrome/browser/ui/main:feature_flags",
[email protected]9234e9c2018-01-03 13:44:28130 "//ios/chrome/browser/ui/omnibox",
Gauthier Ambard2746a4b2018-03-20 12:52:16131 "//ios/chrome/browser/ui/popup_menu:flags",
sczs6ca1d262017-10-30 20:27:13132 "//ios/chrome/browser/ui/toolbar/public:toolbar_base_feature",
sdefresne0ddaed52015-11-19 10:40:02133 "//ios/chrome/common",
michaeldo5e8fc522017-05-30 19:18:27134 "//ios/components/io_thread",
sdefresne5f39d8e62016-05-18 19:27:37135 "//ios/net",
rohitraoa144a492016-10-26 22:07:38136 "//ios/public/provider/chrome/browser",
sdefresne8f94e092016-11-29 13:23:07137 "//ios/public/provider/chrome/browser/voice",
sdefresne0ddaed52015-11-19 10:40:02138 "//ios/web",
Eugene Butb5fc5d302017-10-17 03:07:40139 "//ios/web/public",
sdefresne87704da22016-10-26 17:01:19140 "//net",
Scott Violeta5f7ba12018-04-02 22:03:40141 "//rlz/buildflags",
sdefresne87704da22016-10-26 17:01:19142 "//url",
143 ]
marq21be5ad2017-05-09 13:20:36144 public_deps = [
145 ":chrome_paths",
146 ]
sdefresne87704da22016-10-26 17:01:19147 allow_circular_includes_from = [
148 "//ios/chrome/browser/sync/glue",
149 "//ios/chrome/browser/browser_state",
150 ]
151 libs = [ "UIKit.framework" ]
152}
153
154source_set("browser_impl") {
stkhapuginb14005e2016-11-21 16:57:25155 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:19156 sources = [
157 "application_context_impl.cc",
158 "application_context_impl.h",
159 "ios_chrome_main_parts.h",
160 "ios_chrome_main_parts.mm",
161 ]
162 deps = [
sdefresnecd5a0de2016-10-28 12:32:36163 ":browser",
sdefresne87704da22016-10-26 17:01:19164 "//base",
165 "//components/component_updater",
166 "//components/content_settings/core/browser",
167 "//components/content_settings/core/common",
168 "//components/flags_ui",
169 "//components/gcm_driver",
170 "//components/history/core/browser",
sdefresneed4f8cd2016-11-17 14:14:57171 "//components/keyed_service/core",
sdefresne87704da22016-10-26 17:01:19172 "//components/language_usage_metrics",
Brett Wilson28c7be62017-09-09 00:33:58173 "//components/metrics",
sdefresne87704da22016-10-26 17:01:19174 "//components/metrics_services_manager",
175 "//components/net_log",
176 "//components/network_time",
177 "//components/open_from_clipboard",
sdefresne87704da22016-10-26 17:01:19178 "//components/prefs",
179 "//components/rappor",
180 "//components/translate/core/browser",
bmcquade919ff542017-03-02 13:05:49181 "//components/ukm",
sdefresne87704da22016-10-26 17:01:19182 "//components/update_client",
183 "//components/variations",
robliao4cdcaa92016-11-07 19:35:43184 "//components/variations/field_trial_config",
sdefresne87704da22016-10-26 17:01:19185 "//components/variations/service",
186 "//ios/chrome/browser/browser_state",
187 "//ios/chrome/browser/browser_state:browser_state_impl",
188 "//ios/chrome/browser/component_updater",
189 "//ios/chrome/browser/first_run",
Colin Blundell0e4ef2752018-05-24 12:07:36190 "//ios/chrome/browser/gcm",
sdefresne87704da22016-10-26 17:01:19191 "//ios/chrome/browser/history",
192 "//ios/chrome/browser/metrics",
Gayane Petrosyanf3ecb1452018-05-23 19:50:47193 "//ios/chrome/browser/metrics:expired_histograms_array",
sdefresne87704da22016-10-26 17:01:19194 "//ios/chrome/browser/net",
195 "//ios/chrome/browser/open_from_clipboard",
sdefresne87704da22016-10-26 17:01:19196 "//ios/chrome/browser/prefs",
sdefresned12ee212016-12-14 16:59:36197 "//ios/chrome/browser/prefs:browser_prefs",
sdefresne87704da22016-10-26 17:01:19198 "//ios/chrome/browser/translate",
199 "//ios/chrome/browser/update_client",
200 "//ios/chrome/browser/web_resource",
201 "//ios/chrome/common",
202 "//ios/public/provider/chrome/browser",
203 "//ios/web",
sdefresne5f39d8e62016-05-18 19:27:37204 "//ios/web/public/app",
sdefresne0ddaed52015-11-19 10:40:02205 "//net",
Scott Violeta5f7ba12018-04-02 22:03:40206 "//rlz/buildflags",
sdefresne0ddaed52015-11-19 10:40:02207 "//ui/base",
sdefresne0ddaed52015-11-19 10:40:02208 ]
209
210 if (enable_rlz) {
sdefresne87704da22016-10-26 17:01:19211 deps += [ "//ios/chrome/browser/rlz" ]
sdefresne0ddaed52015-11-19 10:40:02212 }
sdefresne0ddaed52015-11-19 10:40:02213}
214
sdefresne3dba2c72016-12-08 22:06:39215bundle_data("settings_resources") {
216 sources = [
217 "resources/Settings.bundle/Experimental.plist",
218 "resources/Settings.bundle/Root.plist",
219 ]
220 outputs = [
221 "{{bundle_resources_dir}}/Settings.bundle/{{source_file_part}}",
222 ]
223}
224
sdefresne87704da22016-10-26 17:01:19225source_set("unit_tests") {
lod30ab83262017-02-13 17:07:49226 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:19227 testonly = true
228 sources = [
Randall Raymondd057ba02017-08-11 16:11:41229 "app_startup_parameters_unittest.mm",
Jérôme Lebel7fbc0e12017-07-04 23:31:55230 "chrome_browser_provider_observer_bridge_unittest.mm",
sdefresne87704da22016-10-26 17:01:19231 "chrome_url_util_unittest.mm",
232 "crash_loop_detection_util_unittest.mm",
233 "install_time_util_unittest.mm",
234 "installation_notifier_unittest.mm",
235 "ios_chrome_io_thread_unittest.mm",
236 "notification_promo_unittest.cc",
237 ]
sdefresne0ddaed52015-11-19 10:40:02238 deps = [
sdefresnecc7a86a2016-02-04 18:35:36239 ":browser",
vabrd75d7ab2015-12-14 11:59:04240 "//base",
sdefresne87704da22016-10-26 17:01:19241 "//base/test:test_support",
242 "//components/prefs",
243 "//components/prefs:test_support",
244 "//components/proxy_config",
sdefresne87704da22016-10-26 17:01:19245 "//components/variations",
Jérôme Lebel7fbc0e12017-07-04 23:31:55246 "//ios/public/provider/chrome/browser",
247 "//ios/public/provider/chrome/browser/signin",
baxley66cc96f02017-05-31 18:13:32248 "//ios/web/public/test",
sdefresne87704da22016-10-26 17:01:19249 "//net",
sdefresne5f39d8e62016-05-18 19:27:37250 "//net:test_support",
sdefresne0ddaed52015-11-19 10:40:02251 "//testing/gtest",
Eugene But4450e6772018-03-19 21:19:02252 "//third_party/ocmock",
sdefresne0ddaed52015-11-19 10:40:02253 "//url",
254 ]
255}