blob: e9bafc023f3b1f3dc2a719ca001a78343d27b80f [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")
brettw8fb852d2016-12-13 03:28:378import("//rlz/features/features.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",
marq24515202016-07-01 16:02:4642 "chrome_coordinator.h",
43 "chrome_coordinator.mm",
edchin4dc789d2017-04-12 16:13:1744 "chrome_root_coordinator.h",
45 "chrome_root_coordinator.mm",
sdefresne0ddaed52015-11-19 10:40:0246 "chrome_switches.cc",
47 "chrome_switches.h",
48 "chrome_url_constants.cc",
49 "chrome_url_constants.h",
50 "chrome_url_util.h",
51 "chrome_url_util.mm",
sdefresne0ddaed52015-11-19 10:40:0252 "crash_loop_detection_util.h",
53 "crash_loop_detection_util.mm",
sdefresne0ddaed52015-11-19 10:40:0254 "experimental_flags.h",
55 "experimental_flags.mm",
sdefresne0ddaed52015-11-19 10:40:0256 "file_metadata_util.h",
57 "file_metadata_util.mm",
sdefresne0ddaed52015-11-19 10:40:0258 "install_time_util.h",
59 "install_time_util.mm",
60 "installation_notifier.h",
61 "installation_notifier.mm",
sdefresne0ddaed52015-11-19 10:40:0262 "ios_chrome_field_trials.cc",
63 "ios_chrome_field_trials.h",
vabr0215a8e2017-03-28 12:47:3464 "ios_chrome_flag_descriptions.cc",
65 "ios_chrome_flag_descriptions.h",
sdefresne3bdd5632016-03-26 00:06:2666 "ios_chrome_io_thread.h",
67 "ios_chrome_io_thread.mm",
gchatz33e17a12016-05-04 22:34:1068 "notification_promo.cc",
69 "notification_promo.h",
sczs712e4072016-09-17 00:10:0570 "open_url_util.h",
71 "open_url_util.mm",
sdefresne0ddaed52015-11-19 10:40:0272 "pref_names.cc",
73 "pref_names.h",
sdefresne0ddaed52015-11-19 10:40:0274 "procedural_block_types.h",
sdefresne0ddaed52015-11-19 10:40:0275 "tab_parenting_global_observer.cc",
76 "tab_parenting_global_observer.h",
sdefresne0ddaed52015-11-19 10:40:0277 "web_data_service_factory.cc",
78 "web_data_service_factory.h",
sdefresne0ddaed52015-11-19 10:40:0279 ]
marq21be5ad2017-05-09 13:20:3680
sdefresne0ddaed52015-11-19 10:40:0281 deps = [
sdefresneae441042016-12-09 13:24:3582 ":settings_resources",
sdefresne0ddaed52015-11-19 10:40:0283 "//base",
sdefresne0ddaed52015-11-19 10:40:0284 "//components/autofill/core/browser",
85 "//components/autofill/core/common",
sdefresnee7fd94062016-12-12 13:21:0886 "//components/dom_distiller/core",
87 "//components/flags_ui",
88 "//components/flags_ui:switches",
rohitraof5225f682016-11-08 23:44:2789 "//components/handoff",
sdefresne0ddaed52015-11-19 10:40:0290 "//components/keyed_service/core",
91 "//components/keyed_service/ios",
sdefresne0ddaed52015-11-19 10:40:0292 "//components/metrics",
sdefresneb54407f2015-12-17 13:19:4693 "//components/metrics_services_manager",
sdefresne0ddaed52015-11-19 10:40:0294 "//components/net_log",
Eric Noyau4793d932016-11-16 16:19:2395 "//components/ntp_tiles",
Vaclav Brozekf7e813e2017-07-03 13:36:4196 "//components/password_manager/core/common:common",
mathp9b4c11d2017-07-06 20:24:1397 "//components/payments/core",
sdefresne0ddaed52015-11-19 10:40:0298 "//components/pref_registry",
brettw9f7802a22016-01-30 06:40:1799 "//components/prefs",
sdefresne0ddaed52015-11-19 10:40:02100 "//components/proxy_config",
michaeldof74ae042017-05-20 04:56:03101 "//components/proxy_config/ios",
olivierrobin0c6cd0ca2016-11-24 22:40:35102 "//components/reading_list/ios",
sdefresne0ddaed52015-11-19 10:40:02103 "//components/search_engines",
elawrence816f6790e2017-06-16 18:19:28104 "//components/security_state/core",
sdefresne0ddaed52015-11-19 10:40:02105 "//components/signin/core/browser",
sdefresne3bdd5632016-03-26 00:06:26106 "//components/ssl_config",
sdefresnee7fd94062016-12-12 13:21:08107 "//components/strings",
108 "//components/sync",
sdefresne0ddaed52015-11-19 10:40:02109 "//components/translate/core/browser",
droger18da672c2016-01-25 12:16:21110 "//components/url_formatter",
sdefresne0ddaed52015-11-19 10:40:02111 "//components/variations",
112 "//components/variations/service",
113 "//components/version_info",
sdefresne0ddaed52015-11-19 10:40:02114 "//components/webdata_services",
sdefresnee7fd94062016-12-12 13:21:08115 "//google_apis",
116 "//ios/chrome/app/strings",
sdefresne87704da22016-10-26 17:01:19117 "//ios/chrome/browser/browser_state",
118 "//ios/chrome/browser/sync/glue",
sdefresne0ddaed52015-11-19 10:40:02119 "//ios/chrome/common",
michaeldo5e8fc522017-05-30 19:18:27120 "//ios/components/io_thread",
sdefresne5f39d8e62016-05-18 19:27:37121 "//ios/net",
rohitraoa144a492016-10-26 22:07:38122 "//ios/public/provider/chrome/browser",
sdefresne8f94e092016-11-29 13:23:07123 "//ios/public/provider/chrome/browser/voice",
sdefresne0ddaed52015-11-19 10:40:02124 "//ios/web",
sdefresne5f39d8e62016-05-18 19:27:37125 "//ios/web:user_agent",
sdefresne87704da22016-10-26 17:01:19126 "//net",
brettw8fb852d2016-12-13 03:28:37127 "//rlz/features",
sdefresne87704da22016-10-26 17:01:19128 "//url",
129 ]
marq21be5ad2017-05-09 13:20:36130 public_deps = [
131 ":chrome_paths",
132 ]
sdefresne87704da22016-10-26 17:01:19133 allow_circular_includes_from = [
134 "//ios/chrome/browser/sync/glue",
135 "//ios/chrome/browser/browser_state",
136 ]
137 libs = [ "UIKit.framework" ]
138}
139
140source_set("browser_impl") {
stkhapuginb14005e2016-11-21 16:57:25141 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:19142 sources = [
143 "application_context_impl.cc",
144 "application_context_impl.h",
145 "ios_chrome_main_parts.h",
146 "ios_chrome_main_parts.mm",
147 ]
148 deps = [
sdefresnecd5a0de2016-10-28 12:32:36149 ":browser",
sdefresne87704da22016-10-26 17:01:19150 "//base",
151 "//components/component_updater",
152 "//components/content_settings/core/browser",
153 "//components/content_settings/core/common",
154 "//components/flags_ui",
155 "//components/gcm_driver",
156 "//components/history/core/browser",
sdefresneed4f8cd2016-11-17 14:14:57157 "//components/keyed_service/core",
sdefresne87704da22016-10-26 17:01:19158 "//components/language_usage_metrics",
159 "//components/metrics:profiler_ios",
160 "//components/metrics_services_manager",
161 "//components/net_log",
162 "//components/network_time",
163 "//components/open_from_clipboard",
164 "//components/physical_web/data_source",
165 "//components/prefs",
166 "//components/rappor",
167 "//components/translate/core/browser",
bmcquade919ff542017-03-02 13:05:49168 "//components/ukm",
sdefresne87704da22016-10-26 17:01:19169 "//components/update_client",
170 "//components/variations",
robliao4cdcaa92016-11-07 19:35:43171 "//components/variations/field_trial_config",
sdefresne87704da22016-10-26 17:01:19172 "//components/variations/service",
173 "//ios/chrome/browser/browser_state",
174 "//ios/chrome/browser/browser_state:browser_state_impl",
175 "//ios/chrome/browser/component_updater",
176 "//ios/chrome/browser/first_run",
177 "//ios/chrome/browser/history",
178 "//ios/chrome/browser/metrics",
179 "//ios/chrome/browser/net",
180 "//ios/chrome/browser/open_from_clipboard",
181 "//ios/chrome/browser/physical_web",
182 "//ios/chrome/browser/prefs",
sdefresned12ee212016-12-14 16:59:36183 "//ios/chrome/browser/prefs:browser_prefs",
sdefresne87704da22016-10-26 17:01:19184 "//ios/chrome/browser/services/gcm",
185 "//ios/chrome/browser/translate",
186 "//ios/chrome/browser/update_client",
187 "//ios/chrome/browser/web_resource",
188 "//ios/chrome/common",
189 "//ios/public/provider/chrome/browser",
190 "//ios/web",
sdefresne5f39d8e62016-05-18 19:27:37191 "//ios/web/public/app",
sdefresne0ddaed52015-11-19 10:40:02192 "//net",
brettw8fb852d2016-12-13 03:28:37193 "//rlz/features",
sdefresne0ddaed52015-11-19 10:40:02194 "//ui/base",
sdefresne0ddaed52015-11-19 10:40:02195 ]
196
197 if (enable_rlz) {
sdefresne87704da22016-10-26 17:01:19198 deps += [ "//ios/chrome/browser/rlz" ]
sdefresne0ddaed52015-11-19 10:40:02199 }
sdefresne0ddaed52015-11-19 10:40:02200}
201
sdefresne3dba2c72016-12-08 22:06:39202bundle_data("settings_resources") {
203 sources = [
204 "resources/Settings.bundle/Experimental.plist",
205 "resources/Settings.bundle/Root.plist",
206 ]
207 outputs = [
208 "{{bundle_resources_dir}}/Settings.bundle/{{source_file_part}}",
209 ]
210}
211
sdefresne87704da22016-10-26 17:01:19212source_set("unit_tests") {
lod30ab83262017-02-13 17:07:49213 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:19214 testonly = true
215 sources = [
sdefresne69edf1b2016-12-19 22:53:32216 "callback_counter_unittest.mm",
Jérôme Lebel7fbc0e12017-07-04 23:31:55217 "chrome_browser_provider_observer_bridge_unittest.mm",
sdefresne87704da22016-10-26 17:01:19218 "chrome_url_util_unittest.mm",
219 "crash_loop_detection_util_unittest.mm",
220 "install_time_util_unittest.mm",
221 "installation_notifier_unittest.mm",
222 "ios_chrome_io_thread_unittest.mm",
223 "notification_promo_unittest.cc",
224 ]
sdefresne0ddaed52015-11-19 10:40:02225 deps = [
sdefresnecc7a86a2016-02-04 18:35:36226 ":browser",
sdefresne69edf1b2016-12-19 22:53:32227 ":browser_internal",
vabrd75d7ab2015-12-14 11:59:04228 "//base",
sdefresne87704da22016-10-26 17:01:19229 "//base/test:test_support",
230 "//components/prefs",
231 "//components/prefs:test_support",
232 "//components/proxy_config",
233 "//components/ssl_config",
234 "//components/variations",
Jérôme Lebel7fbc0e12017-07-04 23:31:55235 "//ios/public/provider/chrome/browser",
236 "//ios/public/provider/chrome/browser/signin",
baxley66cc96f02017-05-31 18:13:32237 "//ios/web/public/test",
sdefresne87704da22016-10-26 17:01:19238 "//net",
sdefresne5f39d8e62016-05-18 19:27:37239 "//net:test_support",
sdefresne0ddaed52015-11-19 10:40:02240 "//testing/gtest",
sdefresne0ddaed52015-11-19 10:40:02241 "//url",
242 ]
243}
sdefresne69edf1b2016-12-19 22:53:32244
245source_set("browser_internal") {
liaoyuke73a88dc2017-05-22 13:12:56246 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32247 sources = [
248 "callback_counter.h",
249 "callback_counter.mm",
250 ]
251 deps = [
252 "//base",
253 ]
254}