blob: c4de16bed8ac217e5fc3cb90f54a10f54c28a704 [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
8buildflag_header("ios_enable_metrickit_buildflags") {
9 header = "ios_enable_metrickit_buildflags.h"
10 flags = [ "IOS_ENABLE_METRICKIT=$ios_enable_metrickit" ]
11}
12
sdefresne87704da22016-10-26 17:01:1913source_set("application_delegate") {
14 sources = [
15 "memory_warning_helper.h",
16 "memory_warning_helper.mm",
17 ]
18 deps = [
19 "//base",
20 "//ios/chrome/browser/crash_report",
21 "//ios/chrome/browser/metrics",
22 ]
23 libs = [ "Foundation.framework" ]
stkhapugin96c431692016-11-15 15:40:3224
25 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:1926}
27
28source_set("unit_tests") {
stkhapugin3c11a692017-02-20 17:59:3329 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:1930 testonly = true
31 sources = [
sdefresne69edf1b2016-12-19 22:53:3232 "app_state_unittest.mm",
sdefresne87704da22016-10-26 17:01:1933 "memory_warning_helper_unittest.mm",
Olivier Robin179125782020-04-21 16:26:0834 "metric_kit_subscriber_unittest.mm",
sdefresne69edf1b2016-12-19 22:53:3235 "metrics_mediator_unittest.mm",
36 "url_opener_unittest.mm",
37 "user_activity_handler_unittest.mm",
sdefresne87704da22016-10-26 17:01:1938 ]
39 deps = [
40 ":application_delegate",
sdefresne69edf1b2016-12-19 22:53:3241 ":application_delegate_internal",
Olivier Robin179125782020-04-21 16:26:0842 ":metric_kit_subscriber",
Stepan Khapugin5b991852020-03-27 11:14:5943 ":tab_opening",
sdefresne69edf1b2016-12-19 22:53:3244 ":test_support",
sdefresne87704da22016-10-26 17:01:1945 "//base",
sdefresne69edf1b2016-12-19 22:53:3246 "//base/test:test_support",
sdefresne69edf1b2016-12-19 22:53:3247 "//components/handoff",
48 "//components/metrics",
49 "//ios/chrome/app",
50 "//ios/chrome/app:app_internal",
David Jean40cd9d72019-03-28 09:45:5651 "//ios/chrome/app:mode",
Justin Cohene5e97fd72020-02-20 18:06:0052 "//ios/chrome/app/intents",
sdefresne69edf1b2016-12-19 22:53:3253 "//ios/chrome/app/spotlight",
gambard80b11442017-07-24 14:58:3554 "//ios/chrome/app/startup",
sdefresne69edf1b2016-12-19 22:53:3255 "//ios/chrome/browser",
56 "//ios/chrome/browser/browser_state:test_support",
57 "//ios/chrome/browser/crash_report",
58 "//ios/chrome/browser/device_sharing",
59 "//ios/chrome/browser/geolocation",
Mark Cogane54d359e2020-03-29 15:42:1060 "//ios/chrome/browser/main:public",
61 "//ios/chrome/browser/main:test_support",
sdefresne87704da22016-10-26 17:01:1962 "//ios/chrome/browser/metrics",
Gauthier Ambard11bc1f22017-11-10 10:11:3863 "//ios/chrome/browser/ntp_snippets",
Mark Cogana0c84ae2018-12-14 13:51:0364 "//ios/chrome/browser/signin",
65 "//ios/chrome/browser/signin:test_support",
sdefresne69edf1b2016-12-19 22:53:3266 "//ios/chrome/browser/tabs",
67 "//ios/chrome/browser/u2f",
edchin3365c7d2017-09-01 22:20:3768 "//ios/chrome/browser/ui/commands",
sdefresne69edf1b2016-12-19 22:53:3269 "//ios/chrome/browser/ui/main",
Mark Cogana88d1f02020-03-30 12:10:5670 "//ios/chrome/browser/ui/main:scene",
Mark Cogana0c84ae2018-12-14 13:51:0371 "//ios/chrome/browser/ui/main/test",
sczse21b51642017-09-08 21:05:3072 "//ios/chrome/browser/ui/safe_mode",
sdefresne69edf1b2016-12-19 22:53:3273 "//ios/chrome/browser/ui/settings",
Gauthier Ambard4944d7a2019-01-28 09:49:3674 "//ios/chrome/browser/ui/settings:settings_root",
Robbie Gibson987e01662019-04-18 13:04:5275 "//ios/chrome/browser/url_loading",
Sylvain Defresne5b1174cb2018-01-16 15:47:5876 "//ios/chrome/browser/web:tab_id_tab_helper",
77 "//ios/chrome/browser/web_state_list",
78 "//ios/chrome/browser/web_state_list:test_support",
sdefresne69edf1b2016-12-19 22:53:3279 "//ios/chrome/test:test_support",
sdefresne69edf1b2016-12-19 22:53:3280 "//ios/chrome/test/ocmock",
81 "//ios/public/provider/chrome/browser:test_support",
82 "//ios/public/provider/chrome/browser/distribution",
83 "//ios/public/provider/chrome/browser/user_feedback:test_support",
Gauthier Ambard08969042019-11-12 15:57:5484 "//ios/testing:block_swizzler",
sdefresne69edf1b2016-12-19 22:53:3285 "//ios/testing:ocmock_support",
86 "//ios/web",
baxley66cc96f02017-05-31 18:13:3287 "//ios/web/public/test",
Sylvain Defresne5b1174cb2018-01-16 15:47:5888 "//ios/web/public/test/fakes",
sdefresne69edf1b2016-12-19 22:53:3289 "//net:test_support",
sdefresne87704da22016-10-26 17:01:1990 "//testing/gtest",
Mark Mentovaiebb9ddd62017-09-25 17:24:4191 "//third_party/breakpad:client",
sdefresne69edf1b2016-12-19 22:53:3292 "//third_party/ocmock",
93 "//ui/base",
94 "//url",
sdefresne87704da22016-10-26 17:01:1995 ]
Eugene Butec8756a32019-05-08 23:06:0796 libs = [ "CoreSpotlight.framework" ]
sdefresne69edf1b2016-12-19 22:53:3297}
98
Stepan Khapugin5b991852020-03-27 11:14:5999source_set("tab_opening") {
100 configs += [ "//build/config/compiler:enable_arc" ]
101 sources = [
102 "tab_opening.h",
103 "tab_switching.h",
104 ]
105 deps = [
106 "//base",
107 "//ios/chrome/app",
108 "//ios/chrome/app:mode",
Nazerkeda3d1732020-05-17 10:17:11109 "//ios/chrome/browser/main:public",
Stepan Khapugin5b991852020-03-27 11:14:59110 "//ui/base",
111 ]
112 libs = [
113 "CoreSpotlight.framework",
114 "UIKit.framework",
115 ]
116}
117
Olivier Robin179125782020-04-21 16:26:08118source_set("metric_kit_subscriber") {
119 configs += [ "//build/config/compiler:enable_arc" ]
120 sources = [
121 "metric_kit_subscriber.h",
122 "metric_kit_subscriber.mm",
123 "metric_kit_subscribing_util.h",
124 "metric_kit_subscribing_util.mm",
125 ]
126 libs = [ "MetricKit.framework" ]
127 deps = [
128 ":ios_enable_metrickit_buildflags",
129 "//base",
130 ]
131}
132
sdefresne69edf1b2016-12-19 22:53:32133source_set("application_delegate_internal") {
stkhapugin76a6b9b22017-01-19 13:49:26134 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32135 sources = [
sdefresne69edf1b2016-12-19 22:53:32136 "app_state.h",
137 "app_state.mm",
sdefresne69edf1b2016-12-19 22:53:32138 "browser_launcher.h",
139 "metrics_mediator.h",
140 "metrics_mediator.mm",
141 "startup_information.h",
sdefresne69edf1b2016-12-19 22:53:32142 "tab_switching.h",
143 "url_opener.h",
144 "url_opener.mm",
145 "user_activity_handler.h",
146 "user_activity_handler.mm",
147 ]
148 deps = [
sdefresne037962f2017-01-05 08:51:39149 ":application_delegate",
Olivier Robin179125782020-04-21 16:26:08150 ":ios_enable_metrickit_buildflags",
Stepan Khapugin5b991852020-03-27 11:14:59151 ":tab_opening",
sdefresne69edf1b2016-12-19 22:53:32152 "//base",
Nico Weberbe035062019-09-24 11:46:01153 "//build:branding_buildflags",
sdefresne69edf1b2016-12-19 22:53:32154 "//components/crash/core/common",
Tommy Nyquistc1d6dea12017-07-26 20:37:23155 "//components/feature_engagement",
sdefresne69edf1b2016-12-19 22:53:32156 "//components/handoff",
157 "//components/metrics",
sdefresne69edf1b2016-12-19 22:53:32158 "//components/prefs",
Robbie Gibsonc8a27112019-05-07 12:46:00159 "//components/search_engines",
Chris Lucd500f82019-03-29 22:34:59160 "//components/ukm/ios:features",
sdefresne69edf1b2016-12-19 22:53:32161 "//ios/chrome/app",
David Jean40cd9d72019-03-28 09:45:56162 "//ios/chrome/app:mode",
Justin Cohenb356ec22020-01-07 19:01:20163 "//ios/chrome/app/intents",
sdefresne69edf1b2016-12-19 22:53:32164 "//ios/chrome/app/spotlight",
gambardf8696932017-07-06 14:01:36165 "//ios/chrome/app/startup",
sdefresne69edf1b2016-12-19 22:53:32166 "//ios/chrome/browser",
167 "//ios/chrome/browser/browser_state",
168 "//ios/chrome/browser/crash_report",
169 "//ios/chrome/browser/device_sharing",
Tommy Nyquistc1d6dea12017-07-26 20:37:23170 "//ios/chrome/browser/feature_engagement",
sdefresne69edf1b2016-12-19 22:53:32171 "//ios/chrome/browser/geolocation",
Mark Cogane54d359e2020-03-29 15:42:10172 "//ios/chrome/browser/main:public",
sdefresne69edf1b2016-12-19 22:53:32173 "//ios/chrome/browser/metrics",
174 "//ios/chrome/browser/metrics:metrics_internal",
175 "//ios/chrome/browser/net",
Stepan Khapugin55e48eaf2020-04-21 11:22:23176 "//ios/chrome/browser/ntp_snippets:ntp_snippets",
Robbie Gibsonc8a27112019-05-07 12:46:00177 "//ios/chrome/browser/search_engines",
Sylvain Defresne36311ec2019-06-13 08:29:20178 "//ios/chrome/browser/signin",
sdefresne69edf1b2016-12-19 22:53:32179 "//ios/chrome/browser/tabs",
180 "//ios/chrome/browser/u2f",
sdefresne69edf1b2016-12-19 22:53:32181 "//ios/chrome/browser/ui/authentication",
Mark Cogandfcdea72017-07-18 13:47:38182 "//ios/chrome/browser/ui/commands",
sdefresne69edf1b2016-12-19 22:53:32183 "//ios/chrome/browser/ui/main",
Stepan Khapugin5b991852020-03-27 11:14:59184 "//ios/chrome/browser/ui/main:scene",
sczse21b51642017-09-08 21:05:30185 "//ios/chrome/browser/ui/safe_mode",
Gauthier Ambard4d0fb7402019-04-23 13:05:16186 "//ios/chrome/browser/ui/util",
Stepan Khapugin5b991852020-03-27 11:14:59187 "//ios/chrome/browser/ui/util:multiwindow_util",
Robbie Gibson987e01662019-04-18 13:04:52188 "//ios/chrome/browser/url_loading",
Sylvain Defresne5b1174cb2018-01-16 15:47:58189 "//ios/chrome/browser/web:tab_id_tab_helper",
190 "//ios/chrome/browser/web_state_list",
Nazerke85df21382020-05-13 11:31:14191 "//ios/chrome/browser/web_state_list:agents",
sdefresne69edf1b2016-12-19 22:53:32192 "//ios/chrome/common/app_group:main_app",
193 "//ios/net",
194 "//ios/public/provider/chrome/browser",
195 "//ios/public/provider/chrome/browser/distribution",
196 "//ios/public/provider/chrome/browser/user_feedback",
197 "//ios/web",
198 "//net",
199 "//ui/base",
200 "//url",
201 ]
Olivier Robin179125782020-04-21 16:26:08202 if (ios_enable_metrickit) {
203 deps += [ ":metric_kit_subscriber" ]
204 }
sdefresne69edf1b2016-12-19 22:53:32205 libs = [
206 "CoreSpotlight.framework",
207 "UIKit.framework",
208 ]
Stepan Khapugin5b991852020-03-27 11:14:59209 allow_circular_includes_from = [
210 "//ios/chrome/browser/url_loading",
211 "//ios/chrome/browser/ui/main:scene",
212 ]
sdefresne69edf1b2016-12-19 22:53:32213}
214
215source_set("test_support") {
stkhapugin9c58d92c2017-02-21 14:26:05216 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32217 testonly = true
218 sources = [
219 "app_state_testing.h",
220 "fake_startup_information.h",
221 "fake_startup_information.mm",
222 "metrics_mediator_testing.h",
223 "mock_tab_opener.h",
224 "mock_tab_opener.mm",
225 ]
226 deps = [
227 ":application_delegate_internal",
Stepan Khapugin5b991852020-03-27 11:14:59228 ":tab_opening",
sdefresne69edf1b2016-12-19 22:53:32229 "//base",
230 "//base/test:test_support",
Nazerke10b5dab92019-07-17 13:48:20231 "//ios/chrome/app",
sdefresne69edf1b2016-12-19 22:53:32232 "//ios/chrome/app:app_internal",
David Jean40cd9d72019-03-28 09:45:56233 "//ios/chrome/app:mode",
sdefresne69edf1b2016-12-19 22:53:32234 "//ios/chrome/browser",
Robbie Gibson987e01662019-04-18 13:04:52235 "//ios/chrome/browser/url_loading",
sdefresne69edf1b2016-12-19 22:53:32236 "//net",
237 "//ui/base",
238 "//url",
239 ]
240 libs = [ "UIKit.framework" ]
sdefresne87704da22016-10-26 17:01:19241}