blob: 5a7d3de680316c88afde007c91dbea85ce8506b9 [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
sdefresne14900ee2015-11-27 14:43:2111declare_args() {
12 google_test_gaia_client_id = ""
13 google_test_gaia_client_secret = ""
14 google_staging_api_url = ""
15 google_staging_lso_url = ""
16 google_test_api_url = ""
17 google_test_lso_url = ""
18 google_test_oauth_client_id = ""
19 google_test_oauth_client_secret = ""
20 google_test_oauth_url = ""
21 google_test_sync_url = ""
22}
23
sdefresnecd5a0de2016-10-28 12:32:3624source_set("browser") {
sdefresne0ddaed52015-11-19 10:40:0225 sources = [
sdefresnee7fd94062016-12-12 13:21:0826 "about_flags.h",
27 "about_flags.mm",
sdefresne0ddaed52015-11-19 10:40:0228 "app_startup_parameters.h",
29 "app_startup_parameters.mm",
30 "application_context.cc",
31 "application_context.h",
sdefresne0ddaed52015-11-19 10:40:0232 "arch_util.cc",
33 "arch_util.h",
sdefresne564addb2016-10-06 12:45:1834 "browser_about_rewriter.cc",
35 "browser_about_rewriter.h",
sdefresne0ddaed52015-11-19 10:40:0236 "chrome_constants.cc",
37 "chrome_constants.h",
marq24515202016-07-01 16:02:4638 "chrome_coordinator.h",
39 "chrome_coordinator.mm",
sdefresne0ddaed52015-11-19 10:40:0240 "chrome_paths.h",
41 "chrome_paths.mm",
42 "chrome_paths_internal.h",
43 "chrome_switches.cc",
44 "chrome_switches.h",
45 "chrome_url_constants.cc",
46 "chrome_url_constants.h",
47 "chrome_url_util.h",
48 "chrome_url_util.mm",
sdefresne0ddaed52015-11-19 10:40:0249 "crash_loop_detection_util.h",
50 "crash_loop_detection_util.mm",
sdefresne0ddaed52015-11-19 10:40:0251 "experimental_flags.h",
52 "experimental_flags.mm",
sdefresne0ddaed52015-11-19 10:40:0253 "file_metadata_util.h",
54 "file_metadata_util.mm",
sdefresne0ddaed52015-11-19 10:40:0255 "install_time_util.h",
56 "install_time_util.mm",
57 "installation_notifier.h",
58 "installation_notifier.mm",
sdefresne0ddaed52015-11-19 10:40:0259 "ios_chrome_field_trials.cc",
60 "ios_chrome_field_trials.h",
sdefresne3bdd5632016-03-26 00:06:2661 "ios_chrome_io_thread.h",
62 "ios_chrome_io_thread.mm",
gchatz33e17a12016-05-04 22:34:1063 "notification_promo.cc",
64 "notification_promo.h",
sczs712e4072016-09-17 00:10:0565 "open_url_util.h",
66 "open_url_util.mm",
sdefresne0ddaed52015-11-19 10:40:0267 "pref_names.cc",
68 "pref_names.h",
sdefresne0ddaed52015-11-19 10:40:0269 "procedural_block_types.h",
marq24515202016-07-01 16:02:4670 "root_coordinator.h",
71 "root_coordinator.mm",
jifaea5f5e2016-07-25 13:55:0872 "storekit_launcher.h",
sdefresne0ddaed52015-11-19 10:40:0273 "tab_parenting_global_observer.cc",
74 "tab_parenting_global_observer.h",
sdefresne0ddaed52015-11-19 10:40:0275 "web_data_service_factory.cc",
76 "web_data_service_factory.h",
sdefresne0ddaed52015-11-19 10:40:0277 "xcallback_parameters.h",
78 "xcallback_parameters.mm",
79 ]
sdefresne0ddaed52015-11-19 10:40:0280 deps = [
sdefresnee7fd94062016-12-12 13:21:0881 ":google_api_keys_header",
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",
sdefresne0ddaed52015-11-19 10:40:0289 "//components/gcm_driver",
rohitraof5225f682016-11-08 23:44:2790 "//components/handoff",
sdefresne0ddaed52015-11-19 10:40:0291 "//components/keyed_service/core",
92 "//components/keyed_service/ios",
sdefresne0ddaed52015-11-19 10:40:0293 "//components/metrics",
sdefresneb54407f2015-12-17 13:19:4694 "//components/metrics_services_manager",
sdefresne0ddaed52015-11-19 10:40:0295 "//components/net_log",
bnc210d6f32016-05-24 07:40:4796 "//components/network_session_configurator",
Eric Noyau4793d932016-11-16 16:19:2397 "//components/ntp_tiles",
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",
olivierrobin0c6cd0ca2016-11-24 22:40:35101 "//components/reading_list/core",
102 "//components/reading_list/ios",
sdefresne0ddaed52015-11-19 10:40:02103 "//components/search_engines",
sdefresne0ddaed52015-11-19 10:40:02104 "//components/signin/core/browser",
sdefresne3bdd5632016-03-26 00:06:26105 "//components/ssl_config",
sdefresnee7fd94062016-12-12 13:21:08106 "//components/strings",
107 "//components/sync",
sdefresne0ddaed52015-11-19 10:40:02108 "//components/translate/core/browser",
droger18da672c2016-01-25 12:16:21109 "//components/url_formatter",
sdefresne0ddaed52015-11-19 10:40:02110 "//components/variations",
111 "//components/variations/service",
112 "//components/version_info",
sdefresne0ddaed52015-11-19 10:40:02113 "//components/webdata_services",
sdefresnee7fd94062016-12-12 13:21:08114 "//google_apis",
115 "//ios/chrome/app/strings",
sdefresne87704da22016-10-26 17:01:19116 "//ios/chrome/browser/browser_state",
117 "//ios/chrome/browser/sync/glue",
sdefresne0ddaed52015-11-19 10:40:02118 "//ios/chrome/common",
sdefresne5f39d8e62016-05-18 19:27:37119 "//ios/net",
rohitraoa144a492016-10-26 22:07:38120 "//ios/public/provider/chrome/browser",
sdefresne8f94e092016-11-29 13:23:07121 "//ios/public/provider/chrome/browser/voice",
sdefresne0ddaed52015-11-19 10:40:02122 "//ios/web",
sdefresne5f39d8e62016-05-18 19:27:37123 "//ios/web:user_agent",
sdefresne87704da22016-10-26 17:01:19124 "//net",
brettw8fb852d2016-12-13 03:28:37125 "//rlz/features",
sdefresne87704da22016-10-26 17:01:19126 "//url",
127 ]
128 allow_circular_includes_from = [
129 "//ios/chrome/browser/sync/glue",
130 "//ios/chrome/browser/browser_state",
131 ]
132 libs = [ "UIKit.framework" ]
133}
134
135source_set("browser_impl") {
stkhapuginb14005e2016-11-21 16:57:25136 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:19137 sources = [
138 "application_context_impl.cc",
139 "application_context_impl.h",
140 "ios_chrome_main_parts.h",
141 "ios_chrome_main_parts.mm",
142 ]
143 deps = [
sdefresnecd5a0de2016-10-28 12:32:36144 ":browser",
sdefresne87704da22016-10-26 17:01:19145 "//base",
146 "//components/component_updater",
147 "//components/content_settings/core/browser",
148 "//components/content_settings/core/common",
149 "//components/flags_ui",
150 "//components/gcm_driver",
151 "//components/history/core/browser",
sdefresneed4f8cd2016-11-17 14:14:57152 "//components/keyed_service/core",
sdefresne87704da22016-10-26 17:01:19153 "//components/language_usage_metrics",
154 "//components/metrics:profiler_ios",
155 "//components/metrics_services_manager",
156 "//components/net_log",
157 "//components/network_time",
158 "//components/open_from_clipboard",
159 "//components/physical_web/data_source",
160 "//components/prefs",
161 "//components/rappor",
robliao020139532016-10-28 18:49:26162 "//components/task_scheduler_util",
sdefresne87704da22016-10-26 17:01:19163 "//components/translate/core/browser",
164 "//components/update_client",
165 "//components/variations",
robliao4cdcaa92016-11-07 19:35:43166 "//components/variations/field_trial_config",
sdefresne87704da22016-10-26 17:01:19167 "//components/variations/service",
168 "//ios/chrome/browser/browser_state",
169 "//ios/chrome/browser/browser_state:browser_state_impl",
170 "//ios/chrome/browser/component_updater",
171 "//ios/chrome/browser/first_run",
172 "//ios/chrome/browser/history",
173 "//ios/chrome/browser/metrics",
174 "//ios/chrome/browser/net",
175 "//ios/chrome/browser/open_from_clipboard",
176 "//ios/chrome/browser/physical_web",
177 "//ios/chrome/browser/prefs",
178 "//ios/chrome/browser/services/gcm",
179 "//ios/chrome/browser/translate",
180 "//ios/chrome/browser/update_client",
181 "//ios/chrome/browser/web_resource",
182 "//ios/chrome/common",
183 "//ios/public/provider/chrome/browser",
184 "//ios/web",
sdefresne5f39d8e62016-05-18 19:27:37185 "//ios/web/public/app",
sdefresne0ddaed52015-11-19 10:40:02186 "//net",
brettw8fb852d2016-12-13 03:28:37187 "//rlz/features",
sdefresne0ddaed52015-11-19 10:40:02188 "//ui/base",
sdefresne0ddaed52015-11-19 10:40:02189 ]
190
191 if (enable_rlz) {
sdefresne87704da22016-10-26 17:01:19192 deps += [ "//ios/chrome/browser/rlz" ]
sdefresne0ddaed52015-11-19 10:40:02193 }
sdefresne0ddaed52015-11-19 10:40:02194}
195
sdefresnee7fd94062016-12-12 13:21:08196buildflag_header("google_api_keys_header") {
197 header = "google_api_keys.h"
198 flags = [
sdefresne14900ee2015-11-27 14:43:21199 "GOOGLE_STAGING_API_URL=\"$google_staging_api_url\"",
200 "GOOGLE_STAGING_LSO_URL=\"$google_staging_lso_url\"",
201 "GOOGLE_TEST_API_URL=\"$google_test_api_url\"",
202 "GOOGLE_TEST_LSO_URL=\"$google_test_lso_url\"",
203 "GOOGLE_TEST_OAUTH_CLIENT_ID=\"$google_test_oauth_client_id\"",
204 "GOOGLE_TEST_OAUTH_CLIENT_SECRET=\"$google_test_oauth_client_secret\"",
205 "GOOGLE_TEST_OAUTH_URL=\"$google_test_oauth_url\"",
206 "GOOGLE_TEST_SYNC_URL=\"$google_test_sync_url\"",
207 ]
208}
209
sdefresne3dba2c72016-12-08 22:06:39210bundle_data("settings_resources") {
211 sources = [
212 "resources/Settings.bundle/Experimental.plist",
213 "resources/Settings.bundle/Root.plist",
214 ]
215 outputs = [
216 "{{bundle_resources_dir}}/Settings.bundle/{{source_file_part}}",
217 ]
218}
219
sdefresne87704da22016-10-26 17:01:19220source_set("unit_tests") {
221 testonly = true
222 sources = [
223 "chrome_url_util_unittest.mm",
224 "crash_loop_detection_util_unittest.mm",
225 "install_time_util_unittest.mm",
226 "installation_notifier_unittest.mm",
227 "ios_chrome_io_thread_unittest.mm",
228 "notification_promo_unittest.cc",
229 ]
sdefresne0ddaed52015-11-19 10:40:02230 deps = [
sdefresnecc7a86a2016-02-04 18:35:36231 ":browser",
vabrd75d7ab2015-12-14 11:59:04232 "//base",
sdefresne87704da22016-10-26 17:01:19233 "//base/test:test_support",
234 "//components/prefs",
235 "//components/prefs:test_support",
236 "//components/proxy_config",
237 "//components/ssl_config",
238 "//components/variations",
239 "//ios/web:test_support",
240 "//net",
sdefresne5f39d8e62016-05-18 19:27:37241 "//net:test_support",
sdefresne0ddaed52015-11-19 10:40:02242 "//testing/gtest",
sdefresne0ddaed52015-11-19 10:40:02243 "//url",
244 ]
245}