blob: 9d9b86e94aa1cbdbf5c53bbab660be1ed823a0da [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",
sdefresne69edf1b2016-12-19 22:53:32147 "//base",
David Benjamin2e989772019-08-01 16:36:04148 "//components/google/core/common",
sdefresne69edf1b2016-12-19 22:53:32149 "//ios/chrome/browser",
150 "//ios/chrome/browser/browser_state",
Sylvain Defresne890975f52017-08-24 17:42:26151 "//ios/chrome/browser/prerender",
sdefresne69edf1b2016-12-19 22:53:32152 "//ios/chrome/browser/tabs",
Gauthier Ambard4d0fb7402019-04-23 13:05:16153 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26154 "//ios/chrome/browser/web_state_list",
sdefresne69edf1b2016-12-19 22:53:32155 "//ios/web",
Olivier Robin3ddd9732019-06-21 14:44:07156 "//services/metrics/public/cpp:ukm_builders",
sdefresne037962f2017-01-05 08:51:39157 "//ui/base",
sdefresne69edf1b2016-12-19 22:53:32158 "//url",
159 ]
160 libs = [ "UIKit.framework" ]
161}
162
163source_set("unit_tests_internal") {
lindsayw515ce762017-05-29 10:45:10164 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32165 testonly = true
166 sources = [
167 "first_user_action_recorder_unittest.cc",
168 "size_class_recorder_unittest.mm",
169 "tab_usage_recorder_unittest.mm",
170 ]
171 deps = [
sdefresne037962f2017-01-05 08:51:39172 ":metrics",
sdefresne69edf1b2016-12-19 22:53:32173 ":metrics_internal",
174 "//base",
175 "//base/test:test_support",
Gauthier Ambard4d0fb7402019-04-23 13:05:16176 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26177 "//ios/chrome/browser/web_state_list",
178 "//ios/chrome/browser/web_state_list:test_support",
sdefresne69edf1b2016-12-19 22:53:32179 "//ios/testing:ocmock_support",
180 "//ios/web",
baxley66cc96f02017-05-31 18:13:32181 "//ios/web/public/test",
kkhorimoto8dd141c2017-06-02 02:36:35182 "//ios/web/public/test/fakes",
sdefresne69edf1b2016-12-19 22:53:32183 "//testing/gtest",
sdefresne69edf1b2016-12-19 22:53:32184 ]
185}
186
187source_set("eg_tests") {
Olivier Robin31919d92019-11-22 11:53:44188 defines = [ "CHROME_EARL_GREY_1" ]
stkhapugin1b8ec122017-02-06 19:13:07189 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32190 testonly = true
191 sources = [
192 "tab_usage_recorder_egtest.mm",
Mohamad Ahmadib1eb9392017-11-18 23:34:40193 "ukm_egtest.mm",
sdefresne69edf1b2016-12-19 22:53:32194 ]
195 deps = [
sdefresne037962f2017-01-05 08:51:39196 ":metrics_internal",
lpromeroeb702092017-05-02 15:27:43197 ":test_support",
sdefresne69edf1b2016-12-19 22:53:32198 "//base",
199 "//base/test:test_support",
Mohamad Ahmadib1eb9392017-11-18 23:34:40200 "//components/browser_sync",
201 "//components/metrics",
202 "//components/metrics_services_manager",
sdefresne69edf1b2016-12-19 22:53:32203 "//components/strings",
Mohamad Ahmadib1eb9392017-11-18 23:34:40204 "//components/ukm",
Steven Holte9ee27ab2018-02-26 22:07:05205 "//components/ukm:test_support",
Mihai Sardarescu44478792019-05-20 13:58:26206 "//components/unified_consent:unified_consent",
Mohamad Ahmadib1eb9392017-11-18 23:34:40207 "//ios/chrome/app/strings:ios_strings_grit",
208 "//ios/chrome/browser",
209 "//ios/chrome/browser/metrics",
210 "//ios/chrome/browser/signin",
211 "//ios/chrome/browser/sync",
Mohamad Ahmadib1eb9392017-11-18 23:34:40212 "//ios/chrome/browser/ui/authentication",
Mohamad Ahmadib1eb9392017-11-18 23:34:40213 "//ios/chrome/browser/ui/authentication:eg_test_support",
Gauthier Ambard2f8f18b2018-12-13 13:20:09214 "//ios/chrome/browser/ui/authentication/cells",
Gauthier Ambardea529df2018-09-26 08:46:10215 "//ios/chrome/browser/ui/popup_menu:constants",
sdefresne69edf1b2016-12-19 22:53:32216 "//ios/chrome/browser/ui/settings",
Jérôme Lebel468cff72019-10-08 10:42:26217 "//ios/chrome/browser/ui/settings/google_services",
Gauthier Ambard1dfff732018-02-22 12:50:21218 "//ios/chrome/browser/ui/toolbar/buttons",
sczs42f7f7482017-11-08 01:13:27219 "//ios/chrome/browser/ui/toolbar/public",
Gauthier Ambard4d0fb7402019-04-23 13:05:16220 "//ios/chrome/browser/ui/util",
Maksym Onufriienkob13e6392019-08-05 21:19:12221 "//ios/chrome/test:eg_test_support",
sdefresne69edf1b2016-12-19 22:53:32222 "//ios/chrome/test/app:test_support",
223 "//ios/chrome/test/earl_grey:test_support",
Mohamad Ahmadib1eb9392017-11-18 23:34:40224 "//ios/public/provider/chrome/browser/signin:test_support",
Olivier Robin31919d92019-11-22 11:53:44225 "//ios/testing/earl_grey:earl_grey_support",
baxley68f208ca2017-01-24 23:58:16226 "//ios/web:earl_grey_test_support",
baxley66cc96f02017-05-31 18:13:32227 "//ios/web/public/test",
Rohit Raof1aa7372019-04-09 17:33:35228 "//ios/web/public/test:element_selector",
baxley66cc96f02017-05-31 18:13:32229 "//ios/web/public/test/http_server",
Mark Cogancb0a29d2019-11-04 14:38:32230 "//net:test_support",
sdefresne69edf1b2016-12-19 22:53:32231 "//ui/base",
lpromeroeb702092017-05-02 15:27:43232 "//url",
sdefresne69edf1b2016-12-19 22:53:32233 ]
234 libs = [ "XCTest.framework" ]
235}
lpromeroeb702092017-05-02 15:27:43236
Olivier Robin31919d92019-11-22 11:53:44237source_set("eg2_tests") {
238 defines = [ "CHROME_EARL_GREY_2" ]
239 configs += [
240 "//build/config/compiler:enable_arc",
241 "//build/config/ios:xctest_config",
242 ]
lpromeroeb702092017-05-02 15:27:43243 testonly = true
244 sources = [
Olivier Robin31919d92019-11-22 11:53:44245 "ukm_egtest.mm",
246 ]
247 deps = [
248 ":eg_test_support+eg2",
249 "//base/test:test_support",
250 "//components/strings:components_strings_grit",
251 "//ios/chrome/app/strings:ios_strings_grit",
252 "//ios/chrome/browser/ui/authentication:eg_test_support+eg2",
253 "//ios/chrome/test/earl_grey:eg_test_support+eg2",
254 "//ios/public/provider/chrome/browser/signin:test_support",
255 "//ios/testing/earl_grey:eg_test_support+eg2",
256 "//ios/third_party/earl_grey2:test_lib",
257 "//ui/base:base",
258 ]
259 libs = [ "UIKit.framework" ]
260}
261
262source_set("test_support") {
263 defines = [ "CHROME_EARL_GREY_1" ]
264 testonly = true
265 sources = [
266 "metrics_app_interface.h",
267 "metrics_app_interface.mm",
lpromeroeb702092017-05-02 15:27:43268 "tab_usage_recorder_test_util.h",
269 "tab_usage_recorder_test_util.mm",
270 ]
271 deps = [
Olivier Robin31919d92019-11-22 11:53:44272 ":metrics",
lpromeroeb702092017-05-02 15:27:43273 "//base",
Olivier Robin31919d92019-11-22 11:53:44274 "//base/test:test_support",
275 "//components/metrics_services_manager",
276 "//components/ukm",
Rohit Rao4a8424d2018-04-25 14:36:08277 "//ios/chrome/app:app_internal",
lpromeroeb702092017-05-02 15:27:43278 "//ios/chrome/app/strings",
Olivier Robin31919d92019-11-22 11:53:44279 "//ios/chrome/browser",
Rohit Rao4a8424d2018-04-25 14:36:08280 "//ios/chrome/browser/tabs",
Rohit Rao4a8424d2018-04-25 14:36:08281 "//ios/chrome/browser/ui/main",
Gauthier Ambardea529df2018-09-26 08:46:10282 "//ios/chrome/browser/ui/popup_menu:constants",
Gauthier Ambard4d0fb7402019-04-23 13:05:16283 "//ios/chrome/browser/ui/util",
Rohit Rao4a8424d2018-04-25 14:36:08284 "//ios/chrome/browser/web_state_list",
Maksym Onufriienko771a85c2019-08-06 21:43:00285 "//ios/chrome/test:eg_test_support",
lpromeroeb702092017-05-02 15:27:43286 "//ios/chrome/test/app:test_support",
287 "//ios/chrome/test/earl_grey:test_support",
Olivier Robin31919d92019-11-22 11:53:44288 "//ios/testing/earl_grey:earl_grey_support",
Mark Cogancb0a29d2019-11-04 14:38:32289 "//net:test_support",
Olivier Robin31919d92019-11-22 11:53:44290 "//services/metrics/public/cpp:metrics_cpp",
lpromeroeb702092017-05-02 15:27:43291 "//ui/base",
292 ]
293 configs += [ "//build/config/compiler:enable_arc" ]
294}
Gayane Petrosyanf3ecb1452018-05-23 19:50:47295
296import("//components/metrics/generate_expired_histograms_array.gni")
297
298generate_expired_histograms_array("expired_histograms_array") {
299 inputs = [
300 "//tools/metrics/histograms/histograms.xml",
301 "//tools/metrics/histograms/enums.xml",
302 ]
303 namespace = ""
304 header_filename = "ios_expired_histograms_array.h"
305 major_branch_date_filepath = "//chrome/MAJOR_BRANCH_DATE"
306 milestone_filepath = "//chrome/VERSION"
307}
Olivier Robin31919d92019-11-22 11:53:44308
309source_set("eg_app_support+eg2") {
310 defines = [ "CHROME_EARL_GREY_2" ]
311 configs += [
312 "//build/config/compiler:enable_arc",
313 "//build/config/ios:xctest_config",
314 ]
315 testonly = true
316 sources = [
317 "metrics_app_interface.h",
318 "metrics_app_interface.mm",
319 ]
320 deps = [
321 "//base",
322 "//base/test:test_support",
323 "//components/metrics_services_manager",
324 "//components/metrics_services_manager:metrics_services_manager",
325 "//components/ukm",
326 "//ios/chrome/browser",
327 "//ios/chrome/browser/metrics",
328 "//services/metrics/public/cpp:metrics_cpp",
329 ]
330}
331
332source_set("eg_test_support+eg2") {
333 defines = [ "CHROME_EARL_GREY_2" ]
334 configs += [
335 "//build/config/compiler:enable_arc",
336 "//build/config/ios:xctest_config",
337 ]
338 testonly = true
339 sources = [
340 "metrics_app_interface.h",
341 "metrics_app_interface_stub.mm",
342 ]
343 deps = [
344 "//ios/testing/earl_grey:eg_test_support+eg2",
345 "//ios/third_party/earl_grey2:test_lib",
346 ]
347}