blob: ad329f1e72eb49800b4e5285e5d6e2fc54ff1fba [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
5import("//build/config/features.gni")
sdefresne3bdd5632016-03-26 00:06:266import("//third_party/protobuf/proto_library.gni")
sdefresne0ddaed52015-11-19 10:40:027
sdefresne14900ee2015-11-27 14:43:218declare_args() {
9 google_test_gaia_client_id = ""
10 google_test_gaia_client_secret = ""
11 google_staging_api_url = ""
12 google_staging_lso_url = ""
13 google_test_api_url = ""
14 google_test_lso_url = ""
15 google_test_oauth_client_id = ""
16 google_test_oauth_client_secret = ""
17 google_test_oauth_url = ""
18 google_test_sync_url = ""
19}
20
sdefresnecd5a0de2016-10-28 12:32:3621source_set("browser") {
sdefresne0ddaed52015-11-19 10:40:0222 sources = [
23 "app_startup_parameters.h",
24 "app_startup_parameters.mm",
25 "application_context.cc",
26 "application_context.h",
sdefresne0ddaed52015-11-19 10:40:0227 "arch_util.cc",
28 "arch_util.h",
sdefresne564addb2016-10-06 12:45:1829 "browser_about_rewriter.cc",
30 "browser_about_rewriter.h",
sdefresne0ddaed52015-11-19 10:40:0231 "chrome_constants.cc",
32 "chrome_constants.h",
marq24515202016-07-01 16:02:4633 "chrome_coordinator.h",
34 "chrome_coordinator.mm",
sdefresne0ddaed52015-11-19 10:40:0235 "chrome_paths.h",
36 "chrome_paths.mm",
37 "chrome_paths_internal.h",
38 "chrome_switches.cc",
39 "chrome_switches.h",
40 "chrome_url_constants.cc",
41 "chrome_url_constants.h",
42 "chrome_url_util.h",
43 "chrome_url_util.mm",
sdefresne0ddaed52015-11-19 10:40:0244 "crash_loop_detection_util.h",
45 "crash_loop_detection_util.mm",
sdefresne0ddaed52015-11-19 10:40:0246 "experimental_flags.h",
47 "experimental_flags.mm",
sdefresne0ddaed52015-11-19 10:40:0248 "file_metadata_util.h",
49 "file_metadata_util.mm",
sdefresne0ddaed52015-11-19 10:40:0250 "install_time_util.h",
51 "install_time_util.mm",
52 "installation_notifier.h",
53 "installation_notifier.mm",
sdefresne0ddaed52015-11-19 10:40:0254 "ios_chrome_field_trials.cc",
55 "ios_chrome_field_trials.h",
sdefresne3bdd5632016-03-26 00:06:2656 "ios_chrome_io_thread.h",
57 "ios_chrome_io_thread.mm",
gchatz33e17a12016-05-04 22:34:1058 "notification_promo.cc",
59 "notification_promo.h",
sczs712e4072016-09-17 00:10:0560 "open_url_util.h",
61 "open_url_util.mm",
sdefresne0ddaed52015-11-19 10:40:0262 "pref_names.cc",
63 "pref_names.h",
sdefresne0ddaed52015-11-19 10:40:0264 "procedural_block_types.h",
marq24515202016-07-01 16:02:4665 "root_coordinator.h",
66 "root_coordinator.mm",
jifaea5f5e2016-07-25 13:55:0867 "storekit_launcher.h",
sdefresne0ddaed52015-11-19 10:40:0268 "tab_parenting_global_observer.cc",
69 "tab_parenting_global_observer.h",
sdefresne0ddaed52015-11-19 10:40:0270 "web_data_service_factory.cc",
71 "web_data_service_factory.h",
sdefresne0ddaed52015-11-19 10:40:0272 "xcallback_parameters.h",
73 "xcallback_parameters.mm",
74 ]
sdefresne0ddaed52015-11-19 10:40:0275 deps = [
76 "//base",
sdefresne0ddaed52015-11-19 10:40:0277 "//components/autofill/core/browser",
78 "//components/autofill/core/common",
sdefresne0ddaed52015-11-19 10:40:0279 "//components/gcm_driver",
rohitraof5225f682016-11-08 23:44:2780 "//components/handoff",
sdefresne0ddaed52015-11-19 10:40:0281 "//components/keyed_service/core",
82 "//components/keyed_service/ios",
sdefresne0ddaed52015-11-19 10:40:0283 "//components/metrics",
sdefresneb54407f2015-12-17 13:19:4684 "//components/metrics_services_manager",
sdefresne0ddaed52015-11-19 10:40:0285 "//components/net_log",
bnc210d6f32016-05-24 07:40:4786 "//components/network_session_configurator",
Eric Noyau4793d932016-11-16 16:19:2387 "//components/ntp_tiles",
sdefresne0ddaed52015-11-19 10:40:0288 "//components/pref_registry",
brettw9f7802a22016-01-30 06:40:1789 "//components/prefs",
sdefresne0ddaed52015-11-19 10:40:0290 "//components/proxy_config",
sdefresne0ddaed52015-11-19 10:40:0291 "//components/search_engines",
sdefresne0ddaed52015-11-19 10:40:0292 "//components/signin/core/browser",
sdefresne3bdd5632016-03-26 00:06:2693 "//components/ssl_config",
sdefresne0ddaed52015-11-19 10:40:0294 "//components/translate/core/browser",
droger18da672c2016-01-25 12:16:2195 "//components/url_formatter",
sdefresne0ddaed52015-11-19 10:40:0296 "//components/variations",
97 "//components/variations/service",
98 "//components/version_info",
sdefresne0ddaed52015-11-19 10:40:0299 "//components/webdata_services",
sdefresne87704da22016-10-26 17:01:19100 "//ios/chrome/browser/browser_state",
101 "//ios/chrome/browser/sync/glue",
sdefresne0ddaed52015-11-19 10:40:02102 "//ios/chrome/common",
sdefresne5f39d8e62016-05-18 19:27:37103 "//ios/net",
rohitraoa144a492016-10-26 22:07:38104 "//ios/public/provider/chrome/browser",
sdefresne0ddaed52015-11-19 10:40:02105 "//ios/web",
sdefresne5f39d8e62016-05-18 19:27:37106 "//ios/web:user_agent",
sdefresne87704da22016-10-26 17:01:19107 "//net",
108 "//url",
109 ]
110 allow_circular_includes_from = [
111 "//ios/chrome/browser/sync/glue",
112 "//ios/chrome/browser/browser_state",
113 ]
114 libs = [ "UIKit.framework" ]
115}
116
117source_set("browser_impl") {
stkhapuginb14005e2016-11-21 16:57:25118 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:19119 sources = [
120 "application_context_impl.cc",
121 "application_context_impl.h",
122 "ios_chrome_main_parts.h",
123 "ios_chrome_main_parts.mm",
124 ]
125 deps = [
126 ":about_flags",
sdefresnecd5a0de2016-10-28 12:32:36127 ":browser",
sdefresne87704da22016-10-26 17:01:19128 "//base",
129 "//components/component_updater",
130 "//components/content_settings/core/browser",
131 "//components/content_settings/core/common",
132 "//components/flags_ui",
133 "//components/gcm_driver",
134 "//components/history/core/browser",
sdefresneed4f8cd2016-11-17 14:14:57135 "//components/keyed_service/core",
sdefresne87704da22016-10-26 17:01:19136 "//components/language_usage_metrics",
137 "//components/metrics:profiler_ios",
138 "//components/metrics_services_manager",
139 "//components/net_log",
140 "//components/network_time",
141 "//components/open_from_clipboard",
142 "//components/physical_web/data_source",
143 "//components/prefs",
144 "//components/rappor",
robliao020139532016-10-28 18:49:26145 "//components/task_scheduler_util",
sdefresne87704da22016-10-26 17:01:19146 "//components/translate/core/browser",
147 "//components/update_client",
148 "//components/variations",
robliao4cdcaa92016-11-07 19:35:43149 "//components/variations/field_trial_config",
sdefresne87704da22016-10-26 17:01:19150 "//components/variations/service",
151 "//ios/chrome/browser/browser_state",
152 "//ios/chrome/browser/browser_state:browser_state_impl",
153 "//ios/chrome/browser/component_updater",
154 "//ios/chrome/browser/first_run",
155 "//ios/chrome/browser/history",
156 "//ios/chrome/browser/metrics",
157 "//ios/chrome/browser/net",
158 "//ios/chrome/browser/open_from_clipboard",
159 "//ios/chrome/browser/physical_web",
160 "//ios/chrome/browser/prefs",
161 "//ios/chrome/browser/services/gcm",
162 "//ios/chrome/browser/translate",
163 "//ios/chrome/browser/update_client",
164 "//ios/chrome/browser/web_resource",
165 "//ios/chrome/common",
166 "//ios/public/provider/chrome/browser",
167 "//ios/web",
sdefresne5f39d8e62016-05-18 19:27:37168 "//ios/web/public/app",
sdefresne0ddaed52015-11-19 10:40:02169 "//net",
sdefresne0ddaed52015-11-19 10:40:02170 "//ui/base",
sdefresne0ddaed52015-11-19 10:40:02171 ]
172
173 if (enable_rlz) {
sdefresne87704da22016-10-26 17:01:19174 deps += [ "//ios/chrome/browser/rlz" ]
sdefresne0ddaed52015-11-19 10:40:02175 }
sdefresne0ddaed52015-11-19 10:40:02176}
177
sdefresne14900ee2015-11-27 14:43:21178# This is a separate target so that the 'defines' does not leak to the
179# other files (which would increase the compilation time when changing
180# the value).
181source_set("about_flags") {
stkhapugin06403372016-11-21 16:48:56182 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne14900ee2015-11-27 14:43:21183 sources = [
184 "about_flags.h",
185 "about_flags.mm",
186 ]
187
188 deps = [
sdefresnecd5a0de2016-10-28 12:32:36189 ":browser",
sdefresne14900ee2015-11-27 14:43:21190 "//base",
191 "//components/autofill/core/common",
192 "//components/dom_distiller/core",
sdefresne14900ee2015-11-27 14:43:21193 "//components/flags_ui",
sdefresne5f39d8e62016-05-18 19:27:37194 "//components/flags_ui:switches",
noyau4cfb1332016-10-25 17:05:42195 "//components/ntp_tiles",
sdefresne14900ee2015-11-27 14:43:21196 "//components/strings",
maxbogue455a57e32016-08-14 00:08:32197 "//components/sync",
sdefresne5f39d8e62016-05-18 19:27:37198 "//components/variations",
sdefresne14900ee2015-11-27 14:43:21199 "//google_apis",
200 "//ios/chrome/app/strings",
201 "//ios/web",
sdefresne5f39d8e62016-05-18 19:27:37202 "//ios/web:user_agent",
sdefresne14900ee2015-11-27 14:43:21203 ]
204
205 defines = [
206 "GOOGLE_STAGING_API_URL=\"$google_staging_api_url\"",
207 "GOOGLE_STAGING_LSO_URL=\"$google_staging_lso_url\"",
208 "GOOGLE_TEST_API_URL=\"$google_test_api_url\"",
209 "GOOGLE_TEST_LSO_URL=\"$google_test_lso_url\"",
210 "GOOGLE_TEST_OAUTH_CLIENT_ID=\"$google_test_oauth_client_id\"",
211 "GOOGLE_TEST_OAUTH_CLIENT_SECRET=\"$google_test_oauth_client_secret\"",
212 "GOOGLE_TEST_OAUTH_URL=\"$google_test_oauth_url\"",
213 "GOOGLE_TEST_SYNC_URL=\"$google_test_sync_url\"",
214 ]
215}
216
sdefresne87704da22016-10-26 17:01:19217source_set("unit_tests") {
218 testonly = true
219 sources = [
220 "chrome_url_util_unittest.mm",
221 "crash_loop_detection_util_unittest.mm",
222 "install_time_util_unittest.mm",
223 "installation_notifier_unittest.mm",
224 "ios_chrome_io_thread_unittest.mm",
225 "notification_promo_unittest.cc",
226 ]
sdefresne0ddaed52015-11-19 10:40:02227 deps = [
sdefresnecc7a86a2016-02-04 18:35:36228 ":browser",
vabrd75d7ab2015-12-14 11:59:04229 "//base",
sdefresne87704da22016-10-26 17:01:19230 "//base/test:test_support",
231 "//components/prefs",
232 "//components/prefs:test_support",
233 "//components/proxy_config",
234 "//components/ssl_config",
235 "//components/variations",
236 "//ios/web:test_support",
237 "//net",
sdefresne5f39d8e62016-05-18 19:27:37238 "//net:test_support",
sdefresne0ddaed52015-11-19 10:40:02239 "//testing/gtest",
sdefresne0ddaed52015-11-19 10:40:02240 "//url",
241 ]
242}