blob: de6beb485d0686e18387ea6dfbb98fedc1383be5 [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
sdefresnecd5a0de2016-10-28 12:32:3611source_set("browser") {
stkhapuginc1be1792016-12-13 14:30:5312 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne0ddaed52015-11-19 10:40:0213 sources = [
sdefresnee7fd94062016-12-12 13:21:0814 "about_flags.h",
15 "about_flags.mm",
sdefresne0ddaed52015-11-19 10:40:0216 "app_startup_parameters.h",
17 "app_startup_parameters.mm",
18 "application_context.cc",
19 "application_context.h",
sdefresne0ddaed52015-11-19 10:40:0220 "arch_util.cc",
21 "arch_util.h",
sdefresne564addb2016-10-06 12:45:1822 "browser_about_rewriter.cc",
23 "browser_about_rewriter.h",
sdefresne0ddaed52015-11-19 10:40:0224 "chrome_constants.cc",
25 "chrome_constants.h",
marq24515202016-07-01 16:02:4626 "chrome_coordinator.h",
27 "chrome_coordinator.mm",
sdefresne0ddaed52015-11-19 10:40:0228 "chrome_paths.h",
29 "chrome_paths.mm",
30 "chrome_paths_internal.h",
edchin4dc789d2017-04-12 16:13:1731 "chrome_root_coordinator.h",
32 "chrome_root_coordinator.mm",
sdefresne0ddaed52015-11-19 10:40:0233 "chrome_switches.cc",
34 "chrome_switches.h",
35 "chrome_url_constants.cc",
36 "chrome_url_constants.h",
37 "chrome_url_util.h",
38 "chrome_url_util.mm",
sdefresne0ddaed52015-11-19 10:40:0239 "crash_loop_detection_util.h",
40 "crash_loop_detection_util.mm",
sdefresne0ddaed52015-11-19 10:40:0241 "experimental_flags.h",
42 "experimental_flags.mm",
sdefresne0ddaed52015-11-19 10:40:0243 "file_metadata_util.h",
44 "file_metadata_util.mm",
sdefresne0ddaed52015-11-19 10:40:0245 "install_time_util.h",
46 "install_time_util.mm",
47 "installation_notifier.h",
48 "installation_notifier.mm",
sdefresne0ddaed52015-11-19 10:40:0249 "ios_chrome_field_trials.cc",
50 "ios_chrome_field_trials.h",
vabr0215a8e2017-03-28 12:47:3451 "ios_chrome_flag_descriptions.cc",
52 "ios_chrome_flag_descriptions.h",
sdefresne3bdd5632016-03-26 00:06:2653 "ios_chrome_io_thread.h",
54 "ios_chrome_io_thread.mm",
gchatz33e17a12016-05-04 22:34:1055 "notification_promo.cc",
56 "notification_promo.h",
sczs712e4072016-09-17 00:10:0557 "open_url_util.h",
58 "open_url_util.mm",
sdefresne0ddaed52015-11-19 10:40:0259 "pref_names.cc",
60 "pref_names.h",
sdefresne0ddaed52015-11-19 10:40:0261 "procedural_block_types.h",
sdefresne0ddaed52015-11-19 10:40:0262 "tab_parenting_global_observer.cc",
63 "tab_parenting_global_observer.h",
sdefresne0ddaed52015-11-19 10:40:0264 "web_data_service_factory.cc",
65 "web_data_service_factory.h",
sdefresne0ddaed52015-11-19 10:40:0266 "xcallback_parameters.h",
67 "xcallback_parameters.mm",
68 ]
sdefresne0ddaed52015-11-19 10:40:0269 deps = [
sdefresneae441042016-12-09 13:24:3570 ":settings_resources",
sdefresne0ddaed52015-11-19 10:40:0271 "//base",
sdefresne0ddaed52015-11-19 10:40:0272 "//components/autofill/core/browser",
73 "//components/autofill/core/common",
sdefresnee7fd94062016-12-12 13:21:0874 "//components/dom_distiller/core",
75 "//components/flags_ui",
76 "//components/flags_ui:switches",
sdefresne0ddaed52015-11-19 10:40:0277 "//components/gcm_driver",
rohitraof5225f682016-11-08 23:44:2778 "//components/handoff",
sdefresne0ddaed52015-11-19 10:40:0279 "//components/keyed_service/core",
80 "//components/keyed_service/ios",
sdefresne0ddaed52015-11-19 10:40:0281 "//components/metrics",
sdefresneb54407f2015-12-17 13:19:4682 "//components/metrics_services_manager",
sdefresne0ddaed52015-11-19 10:40:0283 "//components/net_log",
bnc210d6f32016-05-24 07:40:4784 "//components/network_session_configurator",
Eric Noyau4793d932016-11-16 16:19:2385 "//components/ntp_tiles",
sdefresne0ddaed52015-11-19 10:40:0286 "//components/pref_registry",
brettw9f7802a22016-01-30 06:40:1787 "//components/prefs",
sdefresne0ddaed52015-11-19 10:40:0288 "//components/proxy_config",
olivierrobin0c6cd0ca2016-11-24 22:40:3589 "//components/reading_list/ios",
sdefresne0ddaed52015-11-19 10:40:0290 "//components/search_engines",
sdefresne0ddaed52015-11-19 10:40:0291 "//components/signin/core/browser",
sdefresne3bdd5632016-03-26 00:06:2692 "//components/ssl_config",
sdefresnee7fd94062016-12-12 13:21:0893 "//components/strings",
94 "//components/sync",
sdefresne0ddaed52015-11-19 10:40:0295 "//components/translate/core/browser",
droger18da672c2016-01-25 12:16:2196 "//components/url_formatter",
sdefresne0ddaed52015-11-19 10:40:0297 "//components/variations",
98 "//components/variations/service",
99 "//components/version_info",
sdefresne0ddaed52015-11-19 10:40:02100 "//components/webdata_services",
sdefresnee7fd94062016-12-12 13:21:08101 "//google_apis",
102 "//ios/chrome/app/strings",
sdefresne87704da22016-10-26 17:01:19103 "//ios/chrome/browser/browser_state",
104 "//ios/chrome/browser/sync/glue",
sdefresne0ddaed52015-11-19 10:40:02105 "//ios/chrome/common",
sdefresne5f39d8e62016-05-18 19:27:37106 "//ios/net",
rohitraoa144a492016-10-26 22:07:38107 "//ios/public/provider/chrome/browser",
sdefresne8f94e092016-11-29 13:23:07108 "//ios/public/provider/chrome/browser/voice",
sdefresne0ddaed52015-11-19 10:40:02109 "//ios/web",
sdefresne5f39d8e62016-05-18 19:27:37110 "//ios/web:user_agent",
sdefresne87704da22016-10-26 17:01:19111 "//net",
brettw8fb852d2016-12-13 03:28:37112 "//rlz/features",
sdefresne87704da22016-10-26 17:01:19113 "//url",
114 ]
115 allow_circular_includes_from = [
116 "//ios/chrome/browser/sync/glue",
117 "//ios/chrome/browser/browser_state",
118 ]
119 libs = [ "UIKit.framework" ]
120}
121
122source_set("browser_impl") {
stkhapuginb14005e2016-11-21 16:57:25123 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:19124 sources = [
125 "application_context_impl.cc",
126 "application_context_impl.h",
127 "ios_chrome_main_parts.h",
128 "ios_chrome_main_parts.mm",
129 ]
130 deps = [
sdefresnecd5a0de2016-10-28 12:32:36131 ":browser",
sdefresne87704da22016-10-26 17:01:19132 "//base",
133 "//components/component_updater",
134 "//components/content_settings/core/browser",
135 "//components/content_settings/core/common",
136 "//components/flags_ui",
137 "//components/gcm_driver",
138 "//components/history/core/browser",
sdefresneed4f8cd2016-11-17 14:14:57139 "//components/keyed_service/core",
sdefresne87704da22016-10-26 17:01:19140 "//components/language_usage_metrics",
141 "//components/metrics:profiler_ios",
142 "//components/metrics_services_manager",
143 "//components/net_log",
144 "//components/network_time",
145 "//components/open_from_clipboard",
146 "//components/physical_web/data_source",
147 "//components/prefs",
148 "//components/rappor",
149 "//components/translate/core/browser",
bmcquade919ff542017-03-02 13:05:49150 "//components/ukm",
sdefresne87704da22016-10-26 17:01:19151 "//components/update_client",
152 "//components/variations",
robliao4cdcaa92016-11-07 19:35:43153 "//components/variations/field_trial_config",
sdefresne87704da22016-10-26 17:01:19154 "//components/variations/service",
155 "//ios/chrome/browser/browser_state",
156 "//ios/chrome/browser/browser_state:browser_state_impl",
157 "//ios/chrome/browser/component_updater",
158 "//ios/chrome/browser/first_run",
159 "//ios/chrome/browser/history",
160 "//ios/chrome/browser/metrics",
161 "//ios/chrome/browser/net",
162 "//ios/chrome/browser/open_from_clipboard",
163 "//ios/chrome/browser/physical_web",
164 "//ios/chrome/browser/prefs",
sdefresned12ee212016-12-14 16:59:36165 "//ios/chrome/browser/prefs:browser_prefs",
sdefresne87704da22016-10-26 17:01:19166 "//ios/chrome/browser/services/gcm",
167 "//ios/chrome/browser/translate",
168 "//ios/chrome/browser/update_client",
169 "//ios/chrome/browser/web_resource",
170 "//ios/chrome/common",
171 "//ios/public/provider/chrome/browser",
172 "//ios/web",
sdefresne5f39d8e62016-05-18 19:27:37173 "//ios/web/public/app",
sdefresne0ddaed52015-11-19 10:40:02174 "//net",
brettw8fb852d2016-12-13 03:28:37175 "//rlz/features",
sdefresne0ddaed52015-11-19 10:40:02176 "//ui/base",
sdefresne0ddaed52015-11-19 10:40:02177 ]
178
179 if (enable_rlz) {
sdefresne87704da22016-10-26 17:01:19180 deps += [ "//ios/chrome/browser/rlz" ]
sdefresne0ddaed52015-11-19 10:40:02181 }
sdefresne0ddaed52015-11-19 10:40:02182}
183
sdefresne3dba2c72016-12-08 22:06:39184bundle_data("settings_resources") {
185 sources = [
186 "resources/Settings.bundle/Experimental.plist",
187 "resources/Settings.bundle/Root.plist",
188 ]
189 outputs = [
190 "{{bundle_resources_dir}}/Settings.bundle/{{source_file_part}}",
191 ]
192}
193
sdefresne87704da22016-10-26 17:01:19194source_set("unit_tests") {
lod30ab83262017-02-13 17:07:49195 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:19196 testonly = true
197 sources = [
sdefresne69edf1b2016-12-19 22:53:32198 "callback_counter_unittest.mm",
sdefresne87704da22016-10-26 17:01:19199 "chrome_url_util_unittest.mm",
200 "crash_loop_detection_util_unittest.mm",
201 "install_time_util_unittest.mm",
202 "installation_notifier_unittest.mm",
203 "ios_chrome_io_thread_unittest.mm",
204 "notification_promo_unittest.cc",
205 ]
sdefresne0ddaed52015-11-19 10:40:02206 deps = [
sdefresnecc7a86a2016-02-04 18:35:36207 ":browser",
sdefresne69edf1b2016-12-19 22:53:32208 ":browser_internal",
vabrd75d7ab2015-12-14 11:59:04209 "//base",
sdefresne87704da22016-10-26 17:01:19210 "//base/test:test_support",
211 "//components/prefs",
212 "//components/prefs:test_support",
213 "//components/proxy_config",
214 "//components/ssl_config",
215 "//components/variations",
216 "//ios/web:test_support",
217 "//net",
sdefresne5f39d8e62016-05-18 19:27:37218 "//net:test_support",
sdefresne0ddaed52015-11-19 10:40:02219 "//testing/gtest",
sdefresne0ddaed52015-11-19 10:40:02220 "//url",
221 ]
222}
sdefresne69edf1b2016-12-19 22:53:32223
224source_set("browser_internal") {
225 sources = [
226 "callback_counter.h",
227 "callback_counter.mm",
228 ]
229 deps = [
230 "//base",
231 ]
232}