blob: 9a35d546f45cefa2514c43ed37e084154ded7a4e [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",
40 "previous_session_info.h",
41 "previous_session_info.mm",
42 "previous_session_info_private.h",
Steven Holte5c275a502018-10-04 18:29:5543 ]
44 public_deps = [
Sylvain Defresne04769322019-10-29 10:09:2745 "//components/ukm/ios:ukm_url_recorder",
sdefresne87704da22016-10-26 17:01:1946 ]
47 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",
holte7b74c622017-01-23 23:13:0775 "//ios/chrome/browser/history:history",
sdefresne87704da22016-10-26 17:01:1976 "//ios/chrome/browser/signin",
77 "//ios/chrome/browser/sync",
sdefresne6165c8742017-01-16 15:42:0278 "//ios/chrome/browser/tabs",
rogerm95c554122017-04-05 12:11:5279 "//ios/chrome/browser/translate",
sdefresne87704da22016-10-26 17:01:1980 "//ios/chrome/browser/variations",
81 "//ios/chrome/browser/variations:ios_chrome_ui_string_overrider_factory",
Mohamad Ahmadib1eb9392017-11-18 23:34:4082 "//ios/chrome/browser/web_state_list",
sdefresne87704da22016-10-26 17:01:1983 "//ios/chrome/common",
Mingyun Li78c631f2019-04-10 02:42:4984 "//ios/public/provider/chrome/browser",
Yi Su74ebfd22019-10-22 09:19:0785 "//ios/web/common",
Mark Cogan7ed77ac2019-05-28 19:01:0886 "//ios/web/public/deprecated",
juanmihdec332312019-02-04 17:30:5887 "//url",
sdefresne87704da22016-10-26 17:01:1988 ]
89}
90
91source_set("unit_tests") {
stkhapugin48471ab2016-12-05 14:31:1992 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:1993 testonly = true
94 sources = [
Vincent Boisselle30da39772019-07-24 18:55:4795 "chrome_browser_state_client_unittest.mm",
sdefresne87704da22016-10-26 17:01:1996 "ios_chrome_metrics_service_accessor_unittest.cc",
Peter K. Lee1f9c5102019-08-19 17:48:4597 "ios_chrome_metrics_service_client_unittest.mm",
Danyao Wang70e34e32017-11-21 21:21:3198 "ios_chrome_stability_metrics_provider_unittest.mm",
sdefresne87704da22016-10-26 17:01:1999 "mobile_session_shutdown_metrics_provider_unittest.mm",
100 "previous_session_info_unittest.mm",
sdefresne87704da22016-10-26 17:01:19101 ]
102 deps = [
Vincent Boisselle30da39772019-07-24 18:55:47103 ":chrome_browser_state_client",
sdefresne87704da22016-10-26 17:01:19104 ":metrics",
105 "//base",
106 "//base/test:test_support",
Nico Weber1574e6c2019-07-31 17:50:47107 "//build:branding_buildflags",
sdefresne87704da22016-10-26 17:01:19108 "//components/metrics",
109 "//components/metrics:test_support",
Vincent Boisselle30da39772019-07-24 18:55:47110 "//components/network_time:network_time",
sdefresne87704da22016-10-26 17:01:19111 "//components/prefs",
112 "//components/prefs:test_support",
Sylvain Defresne04769322019-10-29 10:09:27113 "//components/ukm",
sdefresne87704da22016-10-26 17:01:19114 "//components/version_info",
Vincent Boisselle30da39772019-07-24 18:55:47115 "//ios/chrome/browser",
116 "//ios/chrome/browser/browser_state:test_support",
Steven Holte9ee27ab2018-02-26 22:07:05117 "//ios/chrome/browser/web:test_support",
sdefresne87704da22016-10-26 17:01:19118 "//ios/chrome/test:test_support",
Yi Su74ebfd22019-10-22 09:19:07119 "//ios/web/common",
Sylvain Defresne04769322019-10-29 10:09:27120 "//ios/web/public",
Vincent Boisselle30da39772019-07-24 18:55:47121 "//ios/web/public/test",
Danyao Wang70e34e32017-11-21 21:21:31122 "//ios/web/public/test/fakes",
Steven Holte9ee27ab2018-02-26 22:07:05123 "//net:test_support",
sdefresne87704da22016-10-26 17:01:19124 "//testing/gtest",
125 ]
126}
sdefresne69edf1b2016-12-19 22:53:32127
128source_set("metrics_internal") {
stkhapugin7ad61a72017-05-03 16:41:17129 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32130 sources = [
Jean-François Geyelin9586755e2017-08-17 11:37:27131 "drag_and_drop_recorder.h",
132 "drag_and_drop_recorder.mm",
sdefresne69edf1b2016-12-19 22:53:32133 "first_user_action_recorder.cc",
134 "first_user_action_recorder.h",
135 "new_tab_page_uma.h",
136 "new_tab_page_uma.mm",
137 "size_class_recorder.h",
138 "size_class_recorder.mm",
139 "size_class_recorder_private.h",
Sylvain Defresne890975f52017-08-24 17:42:26140 "tab_usage_recorder.h",
141 "tab_usage_recorder.mm",
Javier Ernesto Flores Robles3e07ccc2019-09-11 15:30:49142 "user_interface_style_recorder.h",
143 "user_interface_style_recorder.mm",
sdefresne69edf1b2016-12-19 22:53:32144 ]
145 deps = [
sdefresne037962f2017-01-05 08:51:39146 ":metrics",
Olivier Robin98f067d2019-12-09 13:37:11147 ":tab_usage_recorder_metrics",
sdefresne69edf1b2016-12-19 22:53:32148 "//base",
David Benjamin2e989772019-08-01 16:36:04149 "//components/google/core/common",
sdefresne69edf1b2016-12-19 22:53:32150 "//ios/chrome/browser",
151 "//ios/chrome/browser/browser_state",
Sylvain Defresne890975f52017-08-24 17:42:26152 "//ios/chrome/browser/prerender",
sdefresne69edf1b2016-12-19 22:53:32153 "//ios/chrome/browser/tabs",
Gauthier Ambard4d0fb7402019-04-23 13:05:16154 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26155 "//ios/chrome/browser/web_state_list",
sdefresne69edf1b2016-12-19 22:53:32156 "//ios/web",
Olivier Robin3ddd9732019-06-21 14:44:07157 "//services/metrics/public/cpp:ukm_builders",
sdefresne037962f2017-01-05 08:51:39158 "//ui/base",
sdefresne69edf1b2016-12-19 22:53:32159 "//url",
160 ]
161 libs = [ "UIKit.framework" ]
162}
163
Olivier Robin98f067d2019-12-09 13:37:11164source_set("tab_usage_recorder_metrics") {
165 configs += [ "//build/config/compiler:enable_arc" ]
166 sources = [
167 "tab_usage_recorder_metrics.h",
168 "tab_usage_recorder_metrics.mm",
169 ]
170 deps = [
171 "//base",
172 ]
173}
174
sdefresne69edf1b2016-12-19 22:53:32175source_set("unit_tests_internal") {
lindsayw515ce762017-05-29 10:45:10176 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32177 testonly = true
178 sources = [
179 "first_user_action_recorder_unittest.cc",
180 "size_class_recorder_unittest.mm",
181 "tab_usage_recorder_unittest.mm",
182 ]
183 deps = [
sdefresne037962f2017-01-05 08:51:39184 ":metrics",
sdefresne69edf1b2016-12-19 22:53:32185 ":metrics_internal",
186 "//base",
187 "//base/test:test_support",
Gauthier Ambard4d0fb7402019-04-23 13:05:16188 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26189 "//ios/chrome/browser/web_state_list",
190 "//ios/chrome/browser/web_state_list:test_support",
sdefresne69edf1b2016-12-19 22:53:32191 "//ios/testing:ocmock_support",
192 "//ios/web",
baxley66cc96f02017-05-31 18:13:32193 "//ios/web/public/test",
kkhorimoto8dd141c2017-06-02 02:36:35194 "//ios/web/public/test/fakes",
sdefresne69edf1b2016-12-19 22:53:32195 "//testing/gtest",
sdefresne69edf1b2016-12-19 22:53:32196 ]
197}
198
199source_set("eg_tests") {
Olivier Robin31919d92019-11-22 11:53:44200 defines = [ "CHROME_EARL_GREY_1" ]
stkhapugin1b8ec122017-02-06 19:13:07201 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32202 testonly = true
203 sources = [
204 "tab_usage_recorder_egtest.mm",
Mohamad Ahmadib1eb9392017-11-18 23:34:40205 "ukm_egtest.mm",
sdefresne69edf1b2016-12-19 22:53:32206 ]
207 deps = [
sdefresne037962f2017-01-05 08:51:39208 ":metrics_internal",
Olivier Robin98f067d2019-12-09 13:37:11209 ":tab_usage_recorder_metrics",
lpromeroeb702092017-05-02 15:27:43210 ":test_support",
sdefresne69edf1b2016-12-19 22:53:32211 "//base",
212 "//base/test:test_support",
Mohamad Ahmadib1eb9392017-11-18 23:34:40213 "//components/browser_sync",
214 "//components/metrics",
215 "//components/metrics_services_manager",
sdefresne69edf1b2016-12-19 22:53:32216 "//components/strings",
Mohamad Ahmadib1eb9392017-11-18 23:34:40217 "//components/ukm",
Steven Holte9ee27ab2018-02-26 22:07:05218 "//components/ukm:test_support",
Mihai Sardarescu44478792019-05-20 13:58:26219 "//components/unified_consent:unified_consent",
Mohamad Ahmadib1eb9392017-11-18 23:34:40220 "//ios/chrome/app/strings:ios_strings_grit",
221 "//ios/chrome/browser",
222 "//ios/chrome/browser/metrics",
223 "//ios/chrome/browser/signin",
224 "//ios/chrome/browser/sync",
Mohamad Ahmadib1eb9392017-11-18 23:34:40225 "//ios/chrome/browser/ui/authentication",
Mohamad Ahmadib1eb9392017-11-18 23:34:40226 "//ios/chrome/browser/ui/authentication:eg_test_support",
Gauthier Ambard2f8f18b2018-12-13 13:20:09227 "//ios/chrome/browser/ui/authentication/cells",
Gauthier Ambardea529df2018-09-26 08:46:10228 "//ios/chrome/browser/ui/popup_menu:constants",
sdefresne69edf1b2016-12-19 22:53:32229 "//ios/chrome/browser/ui/settings",
Jérôme Lebel468cff72019-10-08 10:42:26230 "//ios/chrome/browser/ui/settings/google_services",
Gauthier Ambard1dfff732018-02-22 12:50:21231 "//ios/chrome/browser/ui/toolbar/buttons",
sczs42f7f7482017-11-08 01:13:27232 "//ios/chrome/browser/ui/toolbar/public",
Gauthier Ambard4d0fb7402019-04-23 13:05:16233 "//ios/chrome/browser/ui/util",
Maksym Onufriienkob13e6392019-08-05 21:19:12234 "//ios/chrome/test:eg_test_support",
sdefresne69edf1b2016-12-19 22:53:32235 "//ios/chrome/test/app:test_support",
236 "//ios/chrome/test/earl_grey:test_support",
Jérôme Lebel15a61332019-12-10 13:49:02237 "//ios/public/provider/chrome/browser/signin:fake_chrome_identity",
Mohamad Ahmadib1eb9392017-11-18 23:34:40238 "//ios/public/provider/chrome/browser/signin:test_support",
Olivier Robin31919d92019-11-22 11:53:44239 "//ios/testing/earl_grey:earl_grey_support",
baxley68f208ca2017-01-24 23:58:16240 "//ios/web:earl_grey_test_support",
baxley66cc96f02017-05-31 18:13:32241 "//ios/web/public/test",
Rohit Raof1aa7372019-04-09 17:33:35242 "//ios/web/public/test:element_selector",
baxley66cc96f02017-05-31 18:13:32243 "//ios/web/public/test/http_server",
Mark Cogancb0a29d2019-11-04 14:38:32244 "//net:test_support",
sdefresne69edf1b2016-12-19 22:53:32245 "//ui/base",
lpromeroeb702092017-05-02 15:27:43246 "//url",
sdefresne69edf1b2016-12-19 22:53:32247 ]
248 libs = [ "XCTest.framework" ]
249}
lpromeroeb702092017-05-02 15:27:43250
Olivier Robin31919d92019-11-22 11:53:44251source_set("eg2_tests") {
252 defines = [ "CHROME_EARL_GREY_2" ]
253 configs += [
254 "//build/config/compiler:enable_arc",
255 "//build/config/ios:xctest_config",
256 ]
lpromeroeb702092017-05-02 15:27:43257 testonly = true
258 sources = [
Olivier Robin98f067d2019-12-09 13:37:11259 "tab_usage_recorder_egtest.mm",
Olivier Robin31919d92019-11-22 11:53:44260 "ukm_egtest.mm",
261 ]
262 deps = [
263 ":eg_test_support+eg2",
Olivier Robin98f067d2019-12-09 13:37:11264 ":tab_usage_recorder_metrics",
Olivier Robin31919d92019-11-22 11:53:44265 "//base/test:test_support",
266 "//components/strings:components_strings_grit",
267 "//ios/chrome/app/strings:ios_strings_grit",
268 "//ios/chrome/browser/ui/authentication:eg_test_support+eg2",
Olivier Robin98f067d2019-12-09 13:37:11269 "//ios/chrome/test:eg_test_support+eg2",
Olivier Robin31919d92019-11-22 11:53:44270 "//ios/chrome/test/earl_grey:eg_test_support+eg2",
Jérôme Lebel15a61332019-12-10 13:49:02271 "//ios/public/provider/chrome/browser/signin:fake_chrome_identity",
Olivier Robin31919d92019-11-22 11:53:44272 "//ios/testing/earl_grey:eg_test_support+eg2",
273 "//ios/third_party/earl_grey2:test_lib",
Olivier Robin98f067d2019-12-09 13:37:11274 "//ios/web/public/test:element_selector",
275 "//ios/web/public/test/http_server",
Olivier Robin31919d92019-11-22 11:53:44276 "//ui/base:base",
277 ]
278 libs = [ "UIKit.framework" ]
279}
280
281source_set("test_support") {
282 defines = [ "CHROME_EARL_GREY_1" ]
283 testonly = true
284 sources = [
285 "metrics_app_interface.h",
286 "metrics_app_interface.mm",
lpromeroeb702092017-05-02 15:27:43287 ]
288 deps = [
Olivier Robin31919d92019-11-22 11:53:44289 ":metrics",
lpromeroeb702092017-05-02 15:27:43290 "//base",
Olivier Robin31919d92019-11-22 11:53:44291 "//base/test:test_support",
292 "//components/metrics_services_manager",
293 "//components/ukm",
Rohit Rao4a8424d2018-04-25 14:36:08294 "//ios/chrome/app:app_internal",
lpromeroeb702092017-05-02 15:27:43295 "//ios/chrome/app/strings",
Olivier Robin31919d92019-11-22 11:53:44296 "//ios/chrome/browser",
Olivier Robin98f067d2019-12-09 13:37:11297 "//ios/chrome/browser/metrics:metrics_internal",
Rohit Rao4a8424d2018-04-25 14:36:08298 "//ios/chrome/browser/tabs",
Rohit Rao4a8424d2018-04-25 14:36:08299 "//ios/chrome/browser/ui/main",
Gauthier Ambardea529df2018-09-26 08:46:10300 "//ios/chrome/browser/ui/popup_menu:constants",
Gauthier Ambard4d0fb7402019-04-23 13:05:16301 "//ios/chrome/browser/ui/util",
Rohit Rao4a8424d2018-04-25 14:36:08302 "//ios/chrome/browser/web_state_list",
Maksym Onufriienko771a85c2019-08-06 21:43:00303 "//ios/chrome/test:eg_test_support",
lpromeroeb702092017-05-02 15:27:43304 "//ios/chrome/test/app:test_support",
305 "//ios/chrome/test/earl_grey:test_support",
Olivier Robin31919d92019-11-22 11:53:44306 "//ios/testing/earl_grey:earl_grey_support",
Mark Cogancb0a29d2019-11-04 14:38:32307 "//net:test_support",
Olivier Robin31919d92019-11-22 11:53:44308 "//services/metrics/public/cpp:metrics_cpp",
lpromeroeb702092017-05-02 15:27:43309 "//ui/base",
310 ]
311 configs += [ "//build/config/compiler:enable_arc" ]
312}
Gayane Petrosyanf3ecb1452018-05-23 19:50:47313
314import("//components/metrics/generate_expired_histograms_array.gni")
315
316generate_expired_histograms_array("expired_histograms_array") {
317 inputs = [
318 "//tools/metrics/histograms/histograms.xml",
319 "//tools/metrics/histograms/enums.xml",
320 ]
321 namespace = ""
322 header_filename = "ios_expired_histograms_array.h"
323 major_branch_date_filepath = "//chrome/MAJOR_BRANCH_DATE"
324 milestone_filepath = "//chrome/VERSION"
325}
Olivier Robin31919d92019-11-22 11:53:44326
327source_set("eg_app_support+eg2") {
328 defines = [ "CHROME_EARL_GREY_2" ]
329 configs += [
330 "//build/config/compiler:enable_arc",
331 "//build/config/ios:xctest_config",
332 ]
333 testonly = true
334 sources = [
335 "metrics_app_interface.h",
336 "metrics_app_interface.mm",
337 ]
338 deps = [
339 "//base",
340 "//base/test:test_support",
341 "//components/metrics_services_manager",
342 "//components/metrics_services_manager:metrics_services_manager",
343 "//components/ukm",
344 "//ios/chrome/browser",
345 "//ios/chrome/browser/metrics",
Olivier Robin98f067d2019-12-09 13:37:11346 "//ios/chrome/browser/metrics:metrics_internal",
Olivier Robin16f213b2019-12-05 15:45:49347 "//ios/chrome/test/app:test_support",
348 "//ios/testing:nserror_support",
Olivier Robin31919d92019-11-22 11:53:44349 "//services/metrics/public/cpp:metrics_cpp",
350 ]
351}
352
353source_set("eg_test_support+eg2") {
354 defines = [ "CHROME_EARL_GREY_2" ]
355 configs += [
356 "//build/config/compiler:enable_arc",
357 "//build/config/ios:xctest_config",
358 ]
359 testonly = true
360 sources = [
361 "metrics_app_interface.h",
362 "metrics_app_interface_stub.mm",
363 ]
364 deps = [
Olivier Robin16f213b2019-12-05 15:45:49365 "//base",
Olivier Robin98f067d2019-12-09 13:37:11366 "//base/test:test_support",
367 "//ios/chrome/test:eg_test_support+eg2",
368 "//ios/chrome/test/earl_grey:eg_test_support+eg2",
Olivier Robin31919d92019-11-22 11:53:44369 "//ios/testing/earl_grey:eg_test_support+eg2",
370 "//ios/third_party/earl_grey2:test_lib",
371 ]
372}