blob: 7be16f30a387f50f73ff401b4c32c2f9510afe7d [file] [log] [blame]
sdefresne87704da22016-10-26 17:01:191# Copyright 2016 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
Olivier Robin179125782020-04-21 16:26:085import("//build/buildflag_header.gni")
6import("//ios/chrome/features.gni")
7
sdefresne87704da22016-10-26 17:01:198source_set("application_delegate") {
9 sources = [
10 "memory_warning_helper.h",
11 "memory_warning_helper.mm",
12 ]
13 deps = [
14 "//base",
15 "//ios/chrome/browser/crash_report",
16 "//ios/chrome/browser/metrics",
17 ]
Sylvain Defresnefc94d642020-07-01 15:34:4118 frameworks = [ "Foundation.framework" ]
stkhapugin96c431692016-11-15 15:40:3219
20 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:1921}
22
23source_set("unit_tests") {
stkhapugin3c11a692017-02-20 17:59:3324 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:1925 testonly = true
26 sources = [
sdefresne69edf1b2016-12-19 22:53:3227 "app_state_unittest.mm",
sdefresne87704da22016-10-26 17:01:1928 "memory_warning_helper_unittest.mm",
Olivier Robin179125782020-04-21 16:26:0829 "metric_kit_subscriber_unittest.mm",
sdefresne69edf1b2016-12-19 22:53:3230 "metrics_mediator_unittest.mm",
Olivier Robin8b3f81cb82020-05-28 14:16:5631 "url_opener_params_unittest.mm",
sdefresne69edf1b2016-12-19 22:53:3232 "url_opener_unittest.mm",
33 "user_activity_handler_unittest.mm",
sdefresne87704da22016-10-26 17:01:1934 ]
35 deps = [
36 ":application_delegate",
sdefresne69edf1b2016-12-19 22:53:3237 ":application_delegate_internal",
Olivier Robin179125782020-04-21 16:26:0838 ":metric_kit_subscriber",
Stepan Khapugin5b991852020-03-27 11:14:5939 ":tab_opening",
sdefresne69edf1b2016-12-19 22:53:3240 ":test_support",
Olivier Robin8b3f81cb82020-05-28 14:16:5641 ":url_opener_params",
sdefresne87704da22016-10-26 17:01:1942 "//base",
sdefresne69edf1b2016-12-19 22:53:3243 "//base/test:test_support",
sdefresne69edf1b2016-12-19 22:53:3244 "//components/handoff",
45 "//components/metrics",
46 "//ios/chrome/app",
47 "//ios/chrome/app:app_internal",
David Jean40cd9d72019-03-28 09:45:5648 "//ios/chrome/app:mode",
Justin Cohene5e97fd72020-02-20 18:06:0049 "//ios/chrome/app/intents",
sdefresne69edf1b2016-12-19 22:53:3250 "//ios/chrome/app/spotlight",
gambard80b11442017-07-24 14:58:3551 "//ios/chrome/app/startup",
sdefresne69edf1b2016-12-19 22:53:3252 "//ios/chrome/browser",
53 "//ios/chrome/browser/browser_state:test_support",
54 "//ios/chrome/browser/crash_report",
55 "//ios/chrome/browser/device_sharing",
56 "//ios/chrome/browser/geolocation",
Mark Cogane54d359e2020-03-29 15:42:1057 "//ios/chrome/browser/main:public",
58 "//ios/chrome/browser/main:test_support",
sdefresne87704da22016-10-26 17:01:1959 "//ios/chrome/browser/metrics",
Gauthier Ambard11bc1f22017-11-10 10:11:3860 "//ios/chrome/browser/ntp_snippets",
Mark Cogana0c84ae2018-12-14 13:51:0361 "//ios/chrome/browser/signin",
62 "//ios/chrome/browser/signin:test_support",
sdefresne69edf1b2016-12-19 22:53:3263 "//ios/chrome/browser/tabs",
64 "//ios/chrome/browser/u2f",
edchin3365c7d2017-09-01 22:20:3765 "//ios/chrome/browser/ui/commands",
sdefresne69edf1b2016-12-19 22:53:3266 "//ios/chrome/browser/ui/main",
Mark Cogana88d1f02020-03-30 12:10:5667 "//ios/chrome/browser/ui/main:scene",
Mark Cogana0c84ae2018-12-14 13:51:0368 "//ios/chrome/browser/ui/main/test",
sczse21b51642017-09-08 21:05:3069 "//ios/chrome/browser/ui/safe_mode",
sdefresne69edf1b2016-12-19 22:53:3270 "//ios/chrome/browser/ui/settings",
Gauthier Ambard4944d7a2019-01-28 09:49:3671 "//ios/chrome/browser/ui/settings:settings_root",
David Jean685dd792020-08-04 08:20:0472 "//ios/chrome/browser/ui/util:multiwindow_util",
Robbie Gibson987e01662019-04-18 13:04:5273 "//ios/chrome/browser/url_loading",
Sylvain Defresne5b1174cb2018-01-16 15:47:5874 "//ios/chrome/browser/web:tab_id_tab_helper",
75 "//ios/chrome/browser/web_state_list",
76 "//ios/chrome/browser/web_state_list:test_support",
sdefresne69edf1b2016-12-19 22:53:3277 "//ios/chrome/test:test_support",
sdefresne69edf1b2016-12-19 22:53:3278 "//ios/chrome/test/ocmock",
79 "//ios/public/provider/chrome/browser:test_support",
80 "//ios/public/provider/chrome/browser/distribution",
81 "//ios/public/provider/chrome/browser/user_feedback:test_support",
Gauthier Ambard08969042019-11-12 15:57:5482 "//ios/testing:block_swizzler",
sdefresne69edf1b2016-12-19 22:53:3283 "//ios/testing:ocmock_support",
84 "//ios/web",
baxley66cc96f02017-05-31 18:13:3285 "//ios/web/public/test",
Sylvain Defresne5b1174cb2018-01-16 15:47:5886 "//ios/web/public/test/fakes",
sdefresne69edf1b2016-12-19 22:53:3287 "//net:test_support",
sdefresne87704da22016-10-26 17:01:1988 "//testing/gtest",
Mark Mentovaiebb9ddd62017-09-25 17:24:4189 "//third_party/breakpad:client",
sdefresne69edf1b2016-12-19 22:53:3290 "//third_party/ocmock",
91 "//ui/base",
92 "//url",
sdefresne87704da22016-10-26 17:01:1993 ]
Sylvain Defresnefc94d642020-07-01 15:34:4194 frameworks = [ "CoreSpotlight.framework" ]
sdefresne69edf1b2016-12-19 22:53:3295}
96
Stepan Khapugin5b991852020-03-27 11:14:5997source_set("tab_opening") {
98 configs += [ "//build/config/compiler:enable_arc" ]
99 sources = [
100 "tab_opening.h",
101 "tab_switching.h",
102 ]
103 deps = [
104 "//base",
105 "//ios/chrome/app",
106 "//ios/chrome/app:mode",
Nazerkeda3d1732020-05-17 10:17:11107 "//ios/chrome/browser/main:public",
Stepan Khapugin5b991852020-03-27 11:14:59108 "//ui/base",
109 ]
Sylvain Defresnefc94d642020-07-01 15:34:41110 frameworks = [
Stepan Khapugin5b991852020-03-27 11:14:59111 "CoreSpotlight.framework",
112 "UIKit.framework",
113 ]
114}
115
Olivier Robin8b3f81cb82020-05-28 14:16:56116source_set("url_opener_params") {
117 configs += [ "//build/config/compiler:enable_arc" ]
118 sources = [
119 "url_opener_params.h",
120 "url_opener_params.mm",
121 ]
122 deps = [ "//base" ]
123}
124
Olivier Robin179125782020-04-21 16:26:08125source_set("metric_kit_subscriber") {
126 configs += [ "//build/config/compiler:enable_arc" ]
127 sources = [
128 "metric_kit_subscriber.h",
129 "metric_kit_subscriber.mm",
Olivier Robin179125782020-04-21 16:26:08130 ]
Sylvain Defresnefc94d642020-07-01 15:34:41131 frameworks = [ "MetricKit.framework" ]
Olivier Robin179125782020-04-21 16:26:08132 deps = [
Olivier Robin179125782020-04-21 16:26:08133 "//base",
Olivier Robinc86146802020-07-21 16:28:03134 "//components/version_info",
Olivier Robin179125782020-04-21 16:26:08135 ]
136}
137
Olivier Robind91e86b2020-08-03 19:40:28138source_set("app_state_header") {
139 configs += [ "//build/config/compiler:enable_arc" ]
140 sources = [ "app_state.h" ]
141 public_deps = [ "//ios/chrome/browser/ui/scoped_ui_blocker" ]
142}
143
sdefresne69edf1b2016-12-19 22:53:32144source_set("application_delegate_internal") {
stkhapugin76a6b9b22017-01-19 13:49:26145 configs += [ "//build/config/compiler:enable_arc" ]
Olivier Robind91e86b2020-08-03 19:40:28146 public_deps = [ ":app_state_header" ]
sdefresne69edf1b2016-12-19 22:53:32147 sources = [
sdefresne69edf1b2016-12-19 22:53:32148 "app_state.mm",
sdefresne69edf1b2016-12-19 22:53:32149 "browser_launcher.h",
150 "metrics_mediator.h",
151 "metrics_mediator.mm",
152 "startup_information.h",
sdefresne69edf1b2016-12-19 22:53:32153 "tab_switching.h",
154 "url_opener.h",
155 "url_opener.mm",
156 "user_activity_handler.h",
157 "user_activity_handler.mm",
158 ]
159 deps = [
sdefresne037962f2017-01-05 08:51:39160 ":application_delegate",
Olivier Robinfe1c95b7c2020-07-27 18:23:33161 ":metric_kit_subscriber",
Stepan Khapugin5b991852020-03-27 11:14:59162 ":tab_opening",
Olivier Robin8b3f81cb82020-05-28 14:16:56163 ":url_opener_params",
sdefresne69edf1b2016-12-19 22:53:32164 "//base",
Nico Weberbe035062019-09-24 11:46:01165 "//build:branding_buildflags",
sdefresne69edf1b2016-12-19 22:53:32166 "//components/crash/core/common",
Tommy Nyquistc1d6dea12017-07-26 20:37:23167 "//components/feature_engagement",
sdefresne69edf1b2016-12-19 22:53:32168 "//components/handoff",
169 "//components/metrics",
170 "//components/prefs",
Robbie Gibsonc8a27112019-05-07 12:46:00171 "//components/search_engines",
Chris Lucd500f82019-03-29 22:34:59172 "//components/ukm/ios:features",
sdefresne69edf1b2016-12-19 22:53:32173 "//ios/chrome/app",
David Jean40cd9d72019-03-28 09:45:56174 "//ios/chrome/app:mode",
Justin Cohenb356ec22020-01-07 19:01:20175 "//ios/chrome/app/intents",
sdefresne69edf1b2016-12-19 22:53:32176 "//ios/chrome/app/spotlight",
gambardf8696932017-07-06 14:01:36177 "//ios/chrome/app/startup",
sdefresne69edf1b2016-12-19 22:53:32178 "//ios/chrome/browser",
179 "//ios/chrome/browser/browser_state",
Mohammad Refaat0f8fb862020-08-13 23:35:41180 "//ios/chrome/browser/browsing_data",
sdefresne69edf1b2016-12-19 22:53:32181 "//ios/chrome/browser/crash_report",
182 "//ios/chrome/browser/device_sharing",
Tommy Nyquistc1d6dea12017-07-26 20:37:23183 "//ios/chrome/browser/feature_engagement",
sdefresne69edf1b2016-12-19 22:53:32184 "//ios/chrome/browser/geolocation",
Mark Cogane54d359e2020-03-29 15:42:10185 "//ios/chrome/browser/main:public",
sdefresne69edf1b2016-12-19 22:53:32186 "//ios/chrome/browser/metrics",
187 "//ios/chrome/browser/metrics:metrics_internal",
188 "//ios/chrome/browser/net",
Stepan Khapugin55e48eaf2020-04-21 11:22:23189 "//ios/chrome/browser/ntp_snippets:ntp_snippets",
Robbie Gibsonc8a27112019-05-07 12:46:00190 "//ios/chrome/browser/search_engines",
Sylvain Defresne36311ec2019-06-13 08:29:20191 "//ios/chrome/browser/signin",
sdefresne69edf1b2016-12-19 22:53:32192 "//ios/chrome/browser/tabs",
193 "//ios/chrome/browser/u2f",
sdefresne69edf1b2016-12-19 22:53:32194 "//ios/chrome/browser/ui/authentication",
Mark Cogandfcdea72017-07-18 13:47:38195 "//ios/chrome/browser/ui/commands",
sdefresne69edf1b2016-12-19 22:53:32196 "//ios/chrome/browser/ui/main",
Stepan Khapugin5b991852020-03-27 11:14:59197 "//ios/chrome/browser/ui/main:scene",
sczse21b51642017-09-08 21:05:30198 "//ios/chrome/browser/ui/safe_mode",
Gauthier Ambard4d0fb7402019-04-23 13:05:16199 "//ios/chrome/browser/ui/util",
Stepan Khapugin5b991852020-03-27 11:14:59200 "//ios/chrome/browser/ui/util:multiwindow_util",
Robbie Gibson987e01662019-04-18 13:04:52201 "//ios/chrome/browser/url_loading",
Sylvain Defresne5b1174cb2018-01-16 15:47:58202 "//ios/chrome/browser/web:tab_id_tab_helper",
203 "//ios/chrome/browser/web_state_list",
Nazerke85df21382020-05-13 11:31:14204 "//ios/chrome/browser/web_state_list:agents",
sdefresne69edf1b2016-12-19 22:53:32205 "//ios/chrome/common/app_group:main_app",
206 "//ios/net",
207 "//ios/public/provider/chrome/browser",
208 "//ios/public/provider/chrome/browser/distribution",
209 "//ios/public/provider/chrome/browser/user_feedback",
210 "//ios/web",
211 "//net",
212 "//ui/base",
213 "//url",
214 ]
Jérôme Lebel7c2685c2020-07-21 14:31:16215
Sylvain Defresnefc94d642020-07-01 15:34:41216 frameworks = [
sdefresne69edf1b2016-12-19 22:53:32217 "CoreSpotlight.framework",
218 "UIKit.framework",
219 ]
Stepan Khapugin5b991852020-03-27 11:14:59220 allow_circular_includes_from = [
221 "//ios/chrome/browser/url_loading",
222 "//ios/chrome/browser/ui/main:scene",
223 ]
sdefresne69edf1b2016-12-19 22:53:32224}
225
226source_set("test_support") {
stkhapugin9c58d92c2017-02-21 14:26:05227 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32228 testonly = true
229 sources = [
230 "app_state_testing.h",
231 "fake_startup_information.h",
232 "fake_startup_information.mm",
233 "metrics_mediator_testing.h",
Olivier Robinc86146802020-07-21 16:28:03234 "mock_metrickit_metric_payload.h",
235 "mock_metrickit_metric_payload.mm",
sdefresne69edf1b2016-12-19 22:53:32236 "mock_tab_opener.h",
237 "mock_tab_opener.mm",
238 ]
239 deps = [
240 ":application_delegate_internal",
Stepan Khapugin5b991852020-03-27 11:14:59241 ":tab_opening",
sdefresne69edf1b2016-12-19 22:53:32242 "//base",
243 "//base/test:test_support",
Olivier Robinc86146802020-07-21 16:28:03244 "//components/version_info",
Nazerke10b5dab92019-07-17 13:48:20245 "//ios/chrome/app",
sdefresne69edf1b2016-12-19 22:53:32246 "//ios/chrome/app:app_internal",
David Jean40cd9d72019-03-28 09:45:56247 "//ios/chrome/app:mode",
sdefresne69edf1b2016-12-19 22:53:32248 "//ios/chrome/browser",
Robbie Gibson987e01662019-04-18 13:04:52249 "//ios/chrome/browser/url_loading",
sdefresne69edf1b2016-12-19 22:53:32250 "//net",
Olivier Robinc86146802020-07-21 16:28:03251 "//third_party/ocmock",
sdefresne69edf1b2016-12-19 22:53:32252 "//ui/base",
253 "//url",
254 ]
Olivier Robinc86146802020-07-21 16:28:03255 frameworks = [
256 "MetricKit.framework",
257 "UIKit.framework",
258 ]
sdefresne87704da22016-10-26 17:01:19259}