blob: 24b0f6631b1f3b8d3df53b72eff2fac5135cdf9d [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",
Eugene But379640b2020-09-22 15:08:0316 "//ios/chrome/browser/metrics:previous_session_info",
sdefresne87704da22016-10-26 17:01:1917 ]
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",
Eugene But379640b2020-09-22 15:08:0360 "//ios/chrome/browser/metrics:previous_session_info",
Gauthier Ambard11bc1f22017-11-10 10:11:3861 "//ios/chrome/browser/ntp_snippets",
Mark Cogana0c84ae2018-12-14 13:51:0362 "//ios/chrome/browser/signin",
63 "//ios/chrome/browser/signin:test_support",
sdefresne69edf1b2016-12-19 22:53:3264 "//ios/chrome/browser/tabs",
65 "//ios/chrome/browser/u2f",
edchin3365c7d2017-09-01 22:20:3766 "//ios/chrome/browser/ui/commands",
sdefresne69edf1b2016-12-19 22:53:3267 "//ios/chrome/browser/ui/main",
Mark Cogana88d1f02020-03-30 12:10:5668 "//ios/chrome/browser/ui/main:scene",
Mark Cogana0c84ae2018-12-14 13:51:0369 "//ios/chrome/browser/ui/main/test",
sczse21b51642017-09-08 21:05:3070 "//ios/chrome/browser/ui/safe_mode",
sdefresne69edf1b2016-12-19 22:53:3271 "//ios/chrome/browser/ui/settings",
Gauthier Ambard4944d7a2019-01-28 09:49:3672 "//ios/chrome/browser/ui/settings:settings_root",
David Jean685dd792020-08-04 08:20:0473 "//ios/chrome/browser/ui/util:multiwindow_util",
Robbie Gibson987e01662019-04-18 13:04:5274 "//ios/chrome/browser/url_loading",
Sylvain Defresne5b1174cb2018-01-16 15:47:5875 "//ios/chrome/browser/web:tab_id_tab_helper",
76 "//ios/chrome/browser/web_state_list",
77 "//ios/chrome/browser/web_state_list:test_support",
sdefresne69edf1b2016-12-19 22:53:3278 "//ios/chrome/test:test_support",
sdefresne69edf1b2016-12-19 22:53:3279 "//ios/chrome/test/ocmock",
80 "//ios/public/provider/chrome/browser:test_support",
81 "//ios/public/provider/chrome/browser/distribution",
82 "//ios/public/provider/chrome/browser/user_feedback:test_support",
Gauthier Ambard08969042019-11-12 15:57:5483 "//ios/testing:block_swizzler",
sdefresne69edf1b2016-12-19 22:53:3284 "//ios/testing:ocmock_support",
85 "//ios/web",
baxley66cc96f02017-05-31 18:13:3286 "//ios/web/public/test",
Sylvain Defresne5b1174cb2018-01-16 15:47:5887 "//ios/web/public/test/fakes",
sdefresne69edf1b2016-12-19 22:53:3288 "//net:test_support",
sdefresne87704da22016-10-26 17:01:1989 "//testing/gtest",
Mark Mentovaiebb9ddd62017-09-25 17:24:4190 "//third_party/breakpad:client",
sdefresne69edf1b2016-12-19 22:53:3291 "//third_party/ocmock",
92 "//ui/base",
93 "//url",
sdefresne87704da22016-10-26 17:01:1994 ]
Sylvain Defresnefc94d642020-07-01 15:34:4195 frameworks = [ "CoreSpotlight.framework" ]
sdefresne69edf1b2016-12-19 22:53:3296}
97
Stepan Khapugin5b991852020-03-27 11:14:5998source_set("tab_opening") {
99 configs += [ "//build/config/compiler:enable_arc" ]
100 sources = [
101 "tab_opening.h",
102 "tab_switching.h",
103 ]
104 deps = [
105 "//base",
106 "//ios/chrome/app",
107 "//ios/chrome/app:mode",
Nazerkeda3d1732020-05-17 10:17:11108 "//ios/chrome/browser/main:public",
Stepan Khapugin5b991852020-03-27 11:14:59109 "//ui/base",
110 ]
Sylvain Defresnefc94d642020-07-01 15:34:41111 frameworks = [
Stepan Khapugin5b991852020-03-27 11:14:59112 "CoreSpotlight.framework",
113 "UIKit.framework",
114 ]
115}
116
Olivier Robin8b3f81cb82020-05-28 14:16:56117source_set("url_opener_params") {
118 configs += [ "//build/config/compiler:enable_arc" ]
119 sources = [
120 "url_opener_params.h",
121 "url_opener_params.mm",
122 ]
123 deps = [ "//base" ]
124}
125
Olivier Robin179125782020-04-21 16:26:08126source_set("metric_kit_subscriber") {
127 configs += [ "//build/config/compiler:enable_arc" ]
128 sources = [
129 "metric_kit_subscriber.h",
130 "metric_kit_subscriber.mm",
Olivier Robin179125782020-04-21 16:26:08131 ]
Sylvain Defresnefc94d642020-07-01 15:34:41132 frameworks = [ "MetricKit.framework" ]
Olivier Robin179125782020-04-21 16:26:08133 deps = [
Olivier Robin179125782020-04-21 16:26:08134 "//base",
Olivier Robinc86146802020-07-21 16:28:03135 "//components/version_info",
Olivier Robin179125782020-04-21 16:26:08136 ]
137}
138
Olivier Robind91e86b2020-08-03 19:40:28139source_set("app_state_header") {
140 configs += [ "//build/config/compiler:enable_arc" ]
Stepan Khapugin5ca77212020-09-23 20:13:13141 sources = [
142 "app_state.h",
143 "app_state_agent.h",
144 ]
Stepan Khapuginb4b9fc4f2020-09-17 17:15:52145 public_deps = [
146 "//ios/chrome/browser/ui/main:scene_state_observer",
147 "//ios/chrome/browser/ui/scoped_ui_blocker",
148 ]
Olivier Robind91e86b2020-08-03 19:40:28149}
150
sdefresne69edf1b2016-12-19 22:53:32151source_set("application_delegate_internal") {
stkhapugin76a6b9b22017-01-19 13:49:26152 configs += [ "//build/config/compiler:enable_arc" ]
Olivier Robind91e86b2020-08-03 19:40:28153 public_deps = [ ":app_state_header" ]
sdefresne69edf1b2016-12-19 22:53:32154 sources = [
sdefresne69edf1b2016-12-19 22:53:32155 "app_state.mm",
sdefresne69edf1b2016-12-19 22:53:32156 "browser_launcher.h",
157 "metrics_mediator.h",
158 "metrics_mediator.mm",
159 "startup_information.h",
sdefresne69edf1b2016-12-19 22:53:32160 "tab_switching.h",
161 "url_opener.h",
162 "url_opener.mm",
163 "user_activity_handler.h",
164 "user_activity_handler.mm",
165 ]
166 deps = [
sdefresne037962f2017-01-05 08:51:39167 ":application_delegate",
Olivier Robinfe1c95b7c2020-07-27 18:23:33168 ":metric_kit_subscriber",
Stepan Khapugin5b991852020-03-27 11:14:59169 ":tab_opening",
Olivier Robin8b3f81cb82020-05-28 14:16:56170 ":url_opener_params",
sdefresne69edf1b2016-12-19 22:53:32171 "//base",
Nico Weberbe035062019-09-24 11:46:01172 "//build:branding_buildflags",
sdefresne69edf1b2016-12-19 22:53:32173 "//components/crash/core/common",
Tommy Nyquistc1d6dea12017-07-26 20:37:23174 "//components/feature_engagement",
sdefresne69edf1b2016-12-19 22:53:32175 "//components/handoff",
176 "//components/metrics",
177 "//components/prefs",
Robbie Gibsonc8a27112019-05-07 12:46:00178 "//components/search_engines",
Chris Lucd500f82019-03-29 22:34:59179 "//components/ukm/ios:features",
sdefresne69edf1b2016-12-19 22:53:32180 "//ios/chrome/app",
David Jean40cd9d72019-03-28 09:45:56181 "//ios/chrome/app:mode",
Justin Cohenb356ec22020-01-07 19:01:20182 "//ios/chrome/app/intents",
sdefresne69edf1b2016-12-19 22:53:32183 "//ios/chrome/app/spotlight",
gambardf8696932017-07-06 14:01:36184 "//ios/chrome/app/startup",
sdefresne69edf1b2016-12-19 22:53:32185 "//ios/chrome/browser",
186 "//ios/chrome/browser/browser_state",
Mohammad Refaat0f8fb862020-08-13 23:35:41187 "//ios/chrome/browser/browsing_data",
sdefresne69edf1b2016-12-19 22:53:32188 "//ios/chrome/browser/crash_report",
189 "//ios/chrome/browser/device_sharing",
Tommy Nyquistc1d6dea12017-07-26 20:37:23190 "//ios/chrome/browser/feature_engagement",
sdefresne69edf1b2016-12-19 22:53:32191 "//ios/chrome/browser/geolocation",
Mark Cogane54d359e2020-03-29 15:42:10192 "//ios/chrome/browser/main:public",
sdefresne69edf1b2016-12-19 22:53:32193 "//ios/chrome/browser/metrics",
194 "//ios/chrome/browser/metrics:metrics_internal",
Eugene But379640b2020-09-22 15:08:03195 "//ios/chrome/browser/metrics:previous_session_info",
sdefresne69edf1b2016-12-19 22:53:32196 "//ios/chrome/browser/net",
Stepan Khapugin55e48eaf2020-04-21 11:22:23197 "//ios/chrome/browser/ntp_snippets:ntp_snippets",
Robbie Gibsonc8a27112019-05-07 12:46:00198 "//ios/chrome/browser/search_engines",
Sylvain Defresne36311ec2019-06-13 08:29:20199 "//ios/chrome/browser/signin",
sdefresne69edf1b2016-12-19 22:53:32200 "//ios/chrome/browser/tabs",
201 "//ios/chrome/browser/u2f",
sdefresne69edf1b2016-12-19 22:53:32202 "//ios/chrome/browser/ui/authentication",
Mark Cogandfcdea72017-07-18 13:47:38203 "//ios/chrome/browser/ui/commands",
sdefresne69edf1b2016-12-19 22:53:32204 "//ios/chrome/browser/ui/main",
Stepan Khapugin5b991852020-03-27 11:14:59205 "//ios/chrome/browser/ui/main:scene",
gogerald7c554d0e2020-10-14 18:20:32206 "//ios/chrome/browser/ui/ntp:util",
sczse21b51642017-09-08 21:05:30207 "//ios/chrome/browser/ui/safe_mode",
Gauthier Ambard4d0fb7402019-04-23 13:05:16208 "//ios/chrome/browser/ui/util",
Stepan Khapugin5b991852020-03-27 11:14:59209 "//ios/chrome/browser/ui/util:multiwindow_util",
Robbie Gibson987e01662019-04-18 13:04:52210 "//ios/chrome/browser/url_loading",
Sylvain Defresne5b1174cb2018-01-16 15:47:58211 "//ios/chrome/browser/web:tab_id_tab_helper",
212 "//ios/chrome/browser/web_state_list",
Nazerke85df21382020-05-13 11:31:14213 "//ios/chrome/browser/web_state_list:agents",
Sylvain Defresne3ba32ad2020-10-19 10:13:47214 "//ios/chrome/browser/web_state_list:session_metrics",
sdefresne69edf1b2016-12-19 22:53:32215 "//ios/chrome/common/app_group:main_app",
216 "//ios/net",
217 "//ios/public/provider/chrome/browser",
218 "//ios/public/provider/chrome/browser/distribution",
219 "//ios/public/provider/chrome/browser/user_feedback",
220 "//ios/web",
221 "//net",
222 "//ui/base",
223 "//url",
224 ]
Jérôme Lebel7c2685c2020-07-21 14:31:16225
Sylvain Defresnefc94d642020-07-01 15:34:41226 frameworks = [
sdefresne69edf1b2016-12-19 22:53:32227 "CoreSpotlight.framework",
228 "UIKit.framework",
229 ]
Stepan Khapugin5b991852020-03-27 11:14:59230 allow_circular_includes_from = [
231 "//ios/chrome/browser/url_loading",
232 "//ios/chrome/browser/ui/main:scene",
233 ]
sdefresne69edf1b2016-12-19 22:53:32234}
235
236source_set("test_support") {
stkhapugin9c58d92c2017-02-21 14:26:05237 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32238 testonly = true
239 sources = [
240 "app_state_testing.h",
241 "fake_startup_information.h",
242 "fake_startup_information.mm",
243 "metrics_mediator_testing.h",
Olivier Robinc86146802020-07-21 16:28:03244 "mock_metrickit_metric_payload.h",
245 "mock_metrickit_metric_payload.mm",
sdefresne69edf1b2016-12-19 22:53:32246 "mock_tab_opener.h",
247 "mock_tab_opener.mm",
248 ]
249 deps = [
250 ":application_delegate_internal",
Stepan Khapugin5b991852020-03-27 11:14:59251 ":tab_opening",
sdefresne69edf1b2016-12-19 22:53:32252 "//base",
253 "//base/test:test_support",
Olivier Robinc86146802020-07-21 16:28:03254 "//components/version_info",
Nazerke10b5dab92019-07-17 13:48:20255 "//ios/chrome/app",
sdefresne69edf1b2016-12-19 22:53:32256 "//ios/chrome/app:app_internal",
David Jean40cd9d72019-03-28 09:45:56257 "//ios/chrome/app:mode",
sdefresne69edf1b2016-12-19 22:53:32258 "//ios/chrome/browser",
Robbie Gibson987e01662019-04-18 13:04:52259 "//ios/chrome/browser/url_loading",
sdefresne69edf1b2016-12-19 22:53:32260 "//net",
Olivier Robinc86146802020-07-21 16:28:03261 "//third_party/ocmock",
sdefresne69edf1b2016-12-19 22:53:32262 "//ui/base",
263 "//url",
264 ]
Olivier Robinc86146802020-07-21 16:28:03265 frameworks = [
266 "MetricKit.framework",
267 "UIKit.framework",
268 ]
sdefresne87704da22016-10-26 17:01:19269}