blob: 549a8d5a3955873526c765f6e833f205faa4b19d [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
Vincent Boisselle30da39772019-07-24 18:55:475source_set("chrome_browser_state_client") {
6 configs += [ "//build/config/compiler:enable_arc" ]
7 sources = [
8 "chrome_browser_state_client.h",
9 "chrome_browser_state_client.mm",
10 ]
11 deps = [
12 "//base",
13 "//components/metrics:demographic_metrics_provider",
14 "//components/network_time",
15 "//ios/chrome/browser",
16 "//ios/chrome/browser/browser_state",
17 "//ios/chrome/browser/sync",
18 ]
19}
20
sdefresne87704da22016-10-26 17:01:1921source_set("metrics") {
stkhapuginf05af572016-12-05 14:34:4922 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:1923 sources = [
Mohamad Ahmadib1eb9392017-11-18 23:34:4024 "incognito_web_state_observer.h",
25 "incognito_web_state_observer.mm",
sdefresne87704da22016-10-26 17:01:1926 "ios_chrome_metrics_service_accessor.cc",
27 "ios_chrome_metrics_service_accessor.h",
sdefresne87704da22016-10-26 17:01:1928 "ios_chrome_metrics_service_client.h",
sdefresne4f378a72017-01-04 14:51:1529 "ios_chrome_metrics_service_client.mm",
sdefresne87704da22016-10-26 17:01:1930 "ios_chrome_metrics_services_manager_client.h",
31 "ios_chrome_metrics_services_manager_client.mm",
sdefresne87704da22016-10-26 17:01:1932 "ios_chrome_stability_metrics_provider.h",
pklc425b642017-04-14 23:09:5133 "ios_chrome_stability_metrics_provider.mm",
Mihai Sardarescu190d7da2018-12-21 21:17:1734 "ios_profile_session_durations_service.h",
35 "ios_profile_session_durations_service.mm",
36 "ios_profile_session_durations_service_factory.h",
37 "ios_profile_session_durations_service_factory.mm",
sdefresne87704da22016-10-26 17:01:1938 "mobile_session_shutdown_metrics_provider.h",
39 "mobile_session_shutdown_metrics_provider.mm",
Chris Lu05e6d5e52020-03-05 18:08:1440 "pageload_foreground_duration_tab_helper.h",
41 "pageload_foreground_duration_tab_helper.mm",
sdefresne87704da22016-10-26 17:01:1942 "previous_session_info.h",
43 "previous_session_info.mm",
44 "previous_session_info_private.h",
Steven Holte5c275a502018-10-04 18:29:5545 ]
Nico Weberd23302b9f2020-01-14 14:01:3346 public_deps = [ "//components/ukm/ios:ukm_url_recorder" ]
sdefresne87704da22016-10-26 17:01:1947 deps = [
Vincent Boisselle30da39772019-07-24 18:55:4748 ":chrome_browser_state_client",
sdefresne87704da22016-10-26 17:01:1949 "//base",
holte1334c0aa2017-02-09 22:52:4150 "//components/browser_sync",
sdefresne87704da22016-10-26 17:01:1951 "//components/crash/core/common",
holte7b74c622017-01-23 23:13:0752 "//components/keyed_service/core",
sdefresne87704da22016-10-26 17:01:1953 "//components/keyed_service/ios",
54 "//components/metrics",
Vincent Boisselle30da39772019-07-24 18:55:4755 "//components/metrics:demographic_metrics_provider",
sdefresne87704da22016-10-26 17:01:1956 "//components/metrics:net",
sdefresne87704da22016-10-26 17:01:1957 "//components/metrics:ui",
58 "//components/metrics_services_manager",
59 "//components/navigation_metrics",
60 "//components/omnibox/browser",
61 "//components/prefs",
62 "//components/rappor",
63 "//components/signin/core/browser",
64 "//components/sync",
Marc Treibb55b67a2019-05-07 14:37:3965 "//components/sync_device_info",
holte7b74c622017-01-23 23:13:0766 "//components/ukm",
67 "//components/ukm:observers",
sdefresne87704da22016-10-26 17:01:1968 "//components/variations",
69 "//components/variations/service",
70 "//components/version_info",
sdefresnecd5a0de2016-10-28 12:32:3671 "//ios/chrome/browser",
sdefresne87704da22016-10-26 17:01:1972 "//ios/chrome/browser/browser_state",
73 "//ios/chrome/browser/crash_report",
74 "//ios/chrome/browser/google",
Mark Cogan5bb11252020-03-25 16:55:3875 "//ios/chrome/browser/history",
76 "//ios/chrome/browser/main:public",
sdefresne87704da22016-10-26 17:01:1977 "//ios/chrome/browser/signin",
78 "//ios/chrome/browser/sync",
sdefresne6165c8742017-01-16 15:42:0279 "//ios/chrome/browser/tabs",
rogerm95c554122017-04-05 12:11:5280 "//ios/chrome/browser/translate",
sdefresne87704da22016-10-26 17:01:1981 "//ios/chrome/browser/variations",
82 "//ios/chrome/browser/variations:ios_chrome_ui_string_overrider_factory",
Mohamad Ahmadib1eb9392017-11-18 23:34:4083 "//ios/chrome/browser/web_state_list",
sdefresne87704da22016-10-26 17:01:1984 "//ios/chrome/common",
John Z Wuf83530292020-04-02 07:25:0985 "//ios/components/webui:url_constants",
Mingyun Li78c631f2019-04-10 02:42:4986 "//ios/public/provider/chrome/browser",
Yi Su74ebfd22019-10-22 09:19:0787 "//ios/web/common",
Mark Cogan7ed77ac2019-05-28 19:01:0888 "//ios/web/public/deprecated",
juanmihdec332312019-02-04 17:30:5889 "//url",
sdefresne87704da22016-10-26 17:01:1990 ]
91}
92
93source_set("unit_tests") {
stkhapugin48471ab2016-12-05 14:31:1994 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:1995 testonly = true
96 sources = [
Vincent Boisselle30da39772019-07-24 18:55:4797 "chrome_browser_state_client_unittest.mm",
sdefresne87704da22016-10-26 17:01:1998 "ios_chrome_metrics_service_accessor_unittest.cc",
Peter K. Lee1f9c5102019-08-19 17:48:4599 "ios_chrome_metrics_service_client_unittest.mm",
Danyao Wang70e34e32017-11-21 21:21:31100 "ios_chrome_stability_metrics_provider_unittest.mm",
sdefresne87704da22016-10-26 17:01:19101 "mobile_session_shutdown_metrics_provider_unittest.mm",
Chris Lu05e6d5e52020-03-05 18:08:14102 "pageload_foreground_duration_tab_helper_unittest.mm",
sdefresne87704da22016-10-26 17:01:19103 "previous_session_info_unittest.mm",
104 ]
105 deps = [
Vincent Boisselle30da39772019-07-24 18:55:47106 ":chrome_browser_state_client",
sdefresne87704da22016-10-26 17:01:19107 ":metrics",
108 "//base",
109 "//base/test:test_support",
Nico Weber1574e6c2019-07-31 17:50:47110 "//build:branding_buildflags",
sdefresne87704da22016-10-26 17:01:19111 "//components/metrics",
112 "//components/metrics:test_support",
Vincent Boisselle30da39772019-07-24 18:55:47113 "//components/network_time:network_time",
sdefresne87704da22016-10-26 17:01:19114 "//components/prefs",
115 "//components/prefs:test_support",
Sylvain Defresne04769322019-10-29 10:09:27116 "//components/ukm",
Chris Lu05e6d5e52020-03-05 18:08:14117 "//components/ukm:test_support",
sdefresne87704da22016-10-26 17:01:19118 "//components/version_info",
Vincent Boisselle30da39772019-07-24 18:55:47119 "//ios/chrome/browser",
120 "//ios/chrome/browser/browser_state:test_support",
Steven Holte9ee27ab2018-02-26 22:07:05121 "//ios/chrome/browser/web:test_support",
sdefresne87704da22016-10-26 17:01:19122 "//ios/chrome/test:test_support",
Yi Su74ebfd22019-10-22 09:19:07123 "//ios/web/common",
Sylvain Defresne04769322019-10-29 10:09:27124 "//ios/web/public",
Vincent Boisselle30da39772019-07-24 18:55:47125 "//ios/web/public/test",
Danyao Wang70e34e32017-11-21 21:21:31126 "//ios/web/public/test/fakes",
Steven Holte9ee27ab2018-02-26 22:07:05127 "//net:test_support",
sdefresne87704da22016-10-26 17:01:19128 "//testing/gtest",
129 ]
130}
sdefresne69edf1b2016-12-19 22:53:32131
Mohammad Refaat7d09cf62020-02-27 12:56:04132source_set("metrics_browser_agent") {
133 configs += [ "//build/config/compiler:enable_arc" ]
134 sources = [
135 "tab_usage_recorder_browser_agent.h",
136 "tab_usage_recorder_browser_agent.mm",
137 ]
138 deps = [
139 ":metrics",
140 ":metrics_internal",
141 ":tab_usage_recorder_metrics",
142 "//base",
143 "//components/google/core/common",
144 "//components/ukm/ios:ukm_url_recorder",
145 "//ios/chrome/browser:chrome_url_constants",
146 "//ios/chrome/browser/browser_state",
147 "//ios/chrome/browser/main:public",
148 "//ios/chrome/browser/prerender",
149 "//ios/chrome/browser/sessions:restoration_agent",
150 "//ios/chrome/browser/sessions:restoration_observer",
151 "//ios/chrome/browser/web_state_list",
John Z Wuf83530292020-04-02 07:25:09152 "//ios/components/webui:url_constants",
Mohammad Refaat7d09cf62020-02-27 12:56:04153 "//ios/web",
154 "//services/metrics/public/cpp:ukm_builders",
155 "//ui/base",
156 "//url",
157 ]
158 libs = [ "UIKit.framework" ]
159}
160
sdefresne69edf1b2016-12-19 22:53:32161source_set("metrics_internal") {
stkhapugin7ad61a72017-05-03 16:41:17162 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32163 sources = [
Jean-François Geyelin9586755e2017-08-17 11:37:27164 "drag_and_drop_recorder.h",
165 "drag_and_drop_recorder.mm",
sdefresne69edf1b2016-12-19 22:53:32166 "first_user_action_recorder.cc",
167 "first_user_action_recorder.h",
168 "new_tab_page_uma.h",
169 "new_tab_page_uma.mm",
170 "size_class_recorder.h",
171 "size_class_recorder.mm",
172 "size_class_recorder_private.h",
Javier Ernesto Flores Robles3e07ccc2019-09-11 15:30:49173 "user_interface_style_recorder.h",
174 "user_interface_style_recorder.mm",
sdefresne69edf1b2016-12-19 22:53:32175 ]
176 deps = [
sdefresne037962f2017-01-05 08:51:39177 ":metrics",
Olivier Robinedc71d62019-12-16 16:05:24178 ":tab_usage_recorder_metrics",
sdefresne69edf1b2016-12-19 22:53:32179 "//base",
David Benjamin2e989772019-08-01 16:36:04180 "//components/google/core/common",
sdefresne69edf1b2016-12-19 22:53:32181 "//ios/chrome/browser",
182 "//ios/chrome/browser/browser_state",
Gauthier Ambard4d0fb7402019-04-23 13:05:16183 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26184 "//ios/chrome/browser/web_state_list",
sdefresne69edf1b2016-12-19 22:53:32185 "//ios/web",
Olivier Robin3ddd9732019-06-21 14:44:07186 "//services/metrics/public/cpp:ukm_builders",
sdefresne037962f2017-01-05 08:51:39187 "//ui/base",
sdefresne69edf1b2016-12-19 22:53:32188 "//url",
189 ]
190 libs = [ "UIKit.framework" ]
191}
192
Olivier Robinedc71d62019-12-16 16:05:24193source_set("tab_usage_recorder_metrics") {
194 configs += [ "//build/config/compiler:enable_arc" ]
195 sources = [
196 "tab_usage_recorder_metrics.h",
197 "tab_usage_recorder_metrics.mm",
198 ]
Nico Weberd23302b9f2020-01-14 14:01:33199 deps = [ "//base" ]
Olivier Robinedc71d62019-12-16 16:05:24200}
201
sdefresne69edf1b2016-12-19 22:53:32202source_set("unit_tests_internal") {
lindsayw515ce762017-05-29 10:45:10203 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32204 testonly = true
205 sources = [
206 "first_user_action_recorder_unittest.cc",
207 "size_class_recorder_unittest.mm",
Mohammad Refaat7d09cf62020-02-27 12:56:04208 "tab_usage_recorder_browser_agent_unittest.mm",
sdefresne69edf1b2016-12-19 22:53:32209 ]
210 deps = [
sdefresne037962f2017-01-05 08:51:39211 ":metrics",
Mohammad Refaat7d09cf62020-02-27 12:56:04212 ":metrics_browser_agent",
sdefresne69edf1b2016-12-19 22:53:32213 ":metrics_internal",
214 "//base",
215 "//base/test:test_support",
Mohammad Refaat7d09cf62020-02-27 12:56:04216 "//ios/chrome/browser/main:test_support",
Gauthier Ambard4d0fb7402019-04-23 13:05:16217 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26218 "//ios/chrome/browser/web_state_list",
sdefresne69edf1b2016-12-19 22:53:32219 "//ios/testing:ocmock_support",
220 "//ios/web",
baxley66cc96f02017-05-31 18:13:32221 "//ios/web/public/test",
kkhorimoto8dd141c2017-06-02 02:36:35222 "//ios/web/public/test/fakes",
sdefresne69edf1b2016-12-19 22:53:32223 "//testing/gtest",
sdefresne69edf1b2016-12-19 22:53:32224 ]
225}
226
Olivier Robin31919d92019-11-22 11:53:44227source_set("eg2_tests") {
228 defines = [ "CHROME_EARL_GREY_2" ]
229 configs += [
230 "//build/config/compiler:enable_arc",
231 "//build/config/ios:xctest_config",
232 ]
lpromeroeb702092017-05-02 15:27:43233 testonly = true
234 sources = [
Caitlin Fischer24ddbe82020-04-01 18:54:44235 "demographics_egtest.mm",
Olivier Robinedc71d62019-12-16 16:05:24236 "tab_usage_recorder_egtest.mm",
Olivier Robin31919d92019-11-22 11:53:44237 "ukm_egtest.mm",
238 ]
239 deps = [
240 ":eg_test_support+eg2",
Olivier Robinedc71d62019-12-16 16:05:24241 ":tab_usage_recorder_metrics",
Olivier Robin31919d92019-11-22 11:53:44242 "//base/test:test_support",
Caitlin Fischer24ddbe82020-04-01 18:54:44243 "//components/metrics:demographic_metrics_provider",
Olivier Robin31919d92019-11-22 11:53:44244 "//components/strings:components_strings_grit",
Caitlin Fischer24ddbe82020-04-01 18:54:44245 "//components/ukm",
Olivier Robin31919d92019-11-22 11:53:44246 "//ios/chrome/app/strings:ios_strings_grit",
247 "//ios/chrome/browser/ui/authentication:eg_test_support+eg2",
Olivier Robinedc71d62019-12-16 16:05:24248 "//ios/chrome/test:eg_test_support+eg2",
Olivier Robin31919d92019-11-22 11:53:44249 "//ios/chrome/test/earl_grey:eg_test_support+eg2",
Jérôme Lebel15a61332019-12-10 13:49:02250 "//ios/public/provider/chrome/browser/signin:fake_chrome_identity",
Olivier Robin31919d92019-11-22 11:53:44251 "//ios/testing/earl_grey:eg_test_support+eg2",
252 "//ios/third_party/earl_grey2:test_lib",
Olivier Robinedc71d62019-12-16 16:05:24253 "//ios/web/public/test:element_selector",
254 "//ios/web/public/test/http_server",
Olivier Robin31919d92019-11-22 11:53:44255 "//ui/base:base",
256 ]
257 libs = [ "UIKit.framework" ]
258}
259
Gayane Petrosyanf3ecb1452018-05-23 19:50:47260import("//components/metrics/generate_expired_histograms_array.gni")
261
262generate_expired_histograms_array("expired_histograms_array") {
263 inputs = [
264 "//tools/metrics/histograms/histograms.xml",
265 "//tools/metrics/histograms/enums.xml",
266 ]
267 namespace = ""
268 header_filename = "ios_expired_histograms_array.h"
269 major_branch_date_filepath = "//chrome/MAJOR_BRANCH_DATE"
270 milestone_filepath = "//chrome/VERSION"
271}
Olivier Robin31919d92019-11-22 11:53:44272
273source_set("eg_app_support+eg2") {
274 defines = [ "CHROME_EARL_GREY_2" ]
275 configs += [
276 "//build/config/compiler:enable_arc",
277 "//build/config/ios:xctest_config",
278 ]
279 testonly = true
280 sources = [
281 "metrics_app_interface.h",
282 "metrics_app_interface.mm",
283 ]
284 deps = [
285 "//base",
286 "//base/test:test_support",
Caitlin Fischer24ddbe82020-04-01 18:54:44287 "//components/metrics",
Caitlin Fischerb2823b32020-04-10 20:04:37288 "//components/metrics:demographics_test_support",
Olivier Robin31919d92019-11-22 11:53:44289 "//components/metrics_services_manager",
Caitlin Fischer24ddbe82020-04-01 18:54:44290 "//components/network_time",
Caitlin Fischerb2823b32020-04-10 20:04:37291 "//components/prefs",
Olivier Robin31919d92019-11-22 11:53:44292 "//components/ukm",
Caitlin Fischer72504c42020-04-09 16:39:45293 "//components/ukm:ukm_test_helper",
Olivier Robin31919d92019-11-22 11:53:44294 "//ios/chrome/browser",
Caitlin Fischer24ddbe82020-04-01 18:54:44295 "//ios/chrome/browser/browser_state",
Olivier Robin31919d92019-11-22 11:53:44296 "//ios/chrome/browser/metrics",
Olivier Robinedc71d62019-12-16 16:05:24297 "//ios/chrome/browser/metrics:metrics_internal",
Olivier Robin16f213b2019-12-05 15:45:49298 "//ios/chrome/test/app:test_support",
299 "//ios/testing:nserror_support",
Caitlin Fischer24ddbe82020-04-01 18:54:44300 "//third_party/metrics_proto",
Olivier Robin31919d92019-11-22 11:53:44301 ]
302}
303
304source_set("eg_test_support+eg2") {
305 defines = [ "CHROME_EARL_GREY_2" ]
306 configs += [
307 "//build/config/compiler:enable_arc",
308 "//build/config/ios:xctest_config",
309 ]
310 testonly = true
311 sources = [
312 "metrics_app_interface.h",
313 "metrics_app_interface_stub.mm",
314 ]
315 deps = [
Olivier Robin16f213b2019-12-05 15:45:49316 "//base",
Olivier Robinedc71d62019-12-16 16:05:24317 "//base/test:test_support",
318 "//ios/chrome/test:eg_test_support+eg2",
319 "//ios/chrome/test/earl_grey:eg_test_support+eg2",
Olivier Robin31919d92019-11-22 11:53:44320 "//ios/testing/earl_grey:eg_test_support+eg2",
321 "//ios/third_party/earl_grey2:test_lib",
Caitlin Fischer40edad02020-04-16 02:47:22322 "//third_party/metrics_proto",
Olivier Robin31919d92019-11-22 11:53:44323 ]
324}