blob: 0c0c42e27b5fd08d2e19fab77400ff75c0446d98 [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
Steven Holte5c275a502018-10-04 18:29:555source_set("ukm_url_recorder") {
6 configs += [ "//build/config/compiler:enable_arc" ]
7 sources = [
8 "ukm_url_recorder.h",
9 "ukm_url_recorder.mm",
10 ]
11 public_deps = [
12 "//services/metrics/public/cpp:metrics_cpp",
13 ]
14 deps = [
15 "//base",
16 "//ios/web",
17 "//url",
18 ]
19}
20
Justin Cohen9fde86052019-05-28 23:45:4721source_set("features") {
22 sources = [
23 "features.cc",
24 "features.h",
25 ]
26 deps = [
27 "//base",
28 ]
29}
30
Vincent Boisselle30da39772019-07-24 18:55:4731source_set("chrome_browser_state_client") {
32 configs += [ "//build/config/compiler:enable_arc" ]
33 sources = [
34 "chrome_browser_state_client.h",
35 "chrome_browser_state_client.mm",
36 ]
37 deps = [
38 "//base",
39 "//components/metrics:demographic_metrics_provider",
40 "//components/network_time",
41 "//ios/chrome/browser",
42 "//ios/chrome/browser/browser_state",
43 "//ios/chrome/browser/sync",
44 ]
45}
46
sdefresne87704da22016-10-26 17:01:1947source_set("metrics") {
stkhapuginf05af572016-12-05 14:34:4948 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:1949 sources = [
Mohamad Ahmadib1eb9392017-11-18 23:34:4050 "incognito_web_state_observer.h",
51 "incognito_web_state_observer.mm",
sdefresne87704da22016-10-26 17:01:1952 "ios_chrome_metrics_service_accessor.cc",
53 "ios_chrome_metrics_service_accessor.h",
sdefresne87704da22016-10-26 17:01:1954 "ios_chrome_metrics_service_client.h",
sdefresne4f378a72017-01-04 14:51:1555 "ios_chrome_metrics_service_client.mm",
sdefresne87704da22016-10-26 17:01:1956 "ios_chrome_metrics_services_manager_client.h",
57 "ios_chrome_metrics_services_manager_client.mm",
sdefresne87704da22016-10-26 17:01:1958 "ios_chrome_stability_metrics_provider.h",
pklc425b642017-04-14 23:09:5159 "ios_chrome_stability_metrics_provider.mm",
Mihai Sardarescu190d7da2018-12-21 21:17:1760 "ios_profile_session_durations_service.h",
61 "ios_profile_session_durations_service.mm",
62 "ios_profile_session_durations_service_factory.h",
63 "ios_profile_session_durations_service_factory.mm",
Mingyun Li78c631f2019-04-10 02:42:4964 "ios_user_type_metrics_provider.h",
65 "ios_user_type_metrics_provider.mm",
sdefresne87704da22016-10-26 17:01:1966 "mobile_session_shutdown_metrics_provider.h",
67 "mobile_session_shutdown_metrics_provider.mm",
68 "previous_session_info.h",
69 "previous_session_info.mm",
70 "previous_session_info_private.h",
Steven Holte5c275a502018-10-04 18:29:5571 ]
72 public_deps = [
73 ":ukm_url_recorder",
sdefresne87704da22016-10-26 17:01:1974 ]
75 deps = [
Vincent Boisselle30da39772019-07-24 18:55:4776 ":chrome_browser_state_client",
Justin Cohen9fde86052019-05-28 23:45:4777 ":features",
sdefresne87704da22016-10-26 17:01:1978 "//base",
holte1334c0aa2017-02-09 22:52:4179 "//components/browser_sync",
sdefresne87704da22016-10-26 17:01:1980 "//components/crash/core/common",
holte7b74c622017-01-23 23:13:0781 "//components/keyed_service/core",
sdefresne87704da22016-10-26 17:01:1982 "//components/keyed_service/ios",
83 "//components/metrics",
Vincent Boisselle30da39772019-07-24 18:55:4784 "//components/metrics:demographic_metrics_provider",
sdefresne87704da22016-10-26 17:01:1985 "//components/metrics:net",
sdefresne87704da22016-10-26 17:01:1986 "//components/metrics:ui",
87 "//components/metrics_services_manager",
88 "//components/navigation_metrics",
89 "//components/omnibox/browser",
90 "//components/prefs",
91 "//components/rappor",
92 "//components/signin/core/browser",
93 "//components/sync",
Marc Treibb55b67a2019-05-07 14:37:3994 "//components/sync_device_info",
holte7b74c622017-01-23 23:13:0795 "//components/ukm",
96 "//components/ukm:observers",
sdefresne87704da22016-10-26 17:01:1997 "//components/variations",
98 "//components/variations/service",
99 "//components/version_info",
sdefresnecd5a0de2016-10-28 12:32:36100 "//ios/chrome/browser",
sdefresne87704da22016-10-26 17:01:19101 "//ios/chrome/browser/browser_state",
102 "//ios/chrome/browser/crash_report",
103 "//ios/chrome/browser/google",
holte7b74c622017-01-23 23:13:07104 "//ios/chrome/browser/history:history",
sdefresne87704da22016-10-26 17:01:19105 "//ios/chrome/browser/signin",
106 "//ios/chrome/browser/sync",
sdefresne6165c8742017-01-16 15:42:02107 "//ios/chrome/browser/tabs",
rogerm95c554122017-04-05 12:11:52108 "//ios/chrome/browser/translate",
sdefresne87704da22016-10-26 17:01:19109 "//ios/chrome/browser/variations",
110 "//ios/chrome/browser/variations:ios_chrome_ui_string_overrider_factory",
Mohamad Ahmadib1eb9392017-11-18 23:34:40111 "//ios/chrome/browser/web_state_list",
sdefresne87704da22016-10-26 17:01:19112 "//ios/chrome/common",
Mingyun Li78c631f2019-04-10 02:42:49113 "//ios/public/provider/chrome/browser",
114 "//ios/public/provider/chrome/browser/user",
Mark Cogan7ed77ac2019-05-28 19:01:08115 "//ios/web/public/deprecated",
juanmihdec332312019-02-04 17:30:58116 "//url",
sdefresne87704da22016-10-26 17:01:19117 ]
118}
119
120source_set("unit_tests") {
stkhapugin48471ab2016-12-05 14:31:19121 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:19122 testonly = true
123 sources = [
Vincent Boisselle30da39772019-07-24 18:55:47124 "chrome_browser_state_client_unittest.mm",
sdefresne87704da22016-10-26 17:01:19125 "ios_chrome_metrics_service_accessor_unittest.cc",
Danyao Wang70e34e32017-11-21 21:21:31126 "ios_chrome_stability_metrics_provider_unittest.mm",
sdefresne87704da22016-10-26 17:01:19127 "mobile_session_shutdown_metrics_provider_unittest.mm",
128 "previous_session_info_unittest.mm",
Steven Holte9ee27ab2018-02-26 22:07:05129 "ukm_url_recorder_unittest.mm",
sdefresne87704da22016-10-26 17:01:19130 ]
131 deps = [
Vincent Boisselle30da39772019-07-24 18:55:47132 ":chrome_browser_state_client",
sdefresne87704da22016-10-26 17:01:19133 ":metrics",
134 "//base",
135 "//base/test:test_support",
Nico Weber1574e6c2019-07-31 17:50:47136 "//build:branding_buildflags",
sdefresne87704da22016-10-26 17:01:19137 "//components/metrics",
138 "//components/metrics:test_support",
Vincent Boisselle30da39772019-07-24 18:55:47139 "//components/network_time:network_time",
sdefresne87704da22016-10-26 17:01:19140 "//components/prefs",
141 "//components/prefs:test_support",
Steven Holte9ee27ab2018-02-26 22:07:05142 "//components/ukm:test_support",
sdefresne87704da22016-10-26 17:01:19143 "//components/version_info",
Vincent Boisselle30da39772019-07-24 18:55:47144 "//ios/chrome/browser",
145 "//ios/chrome/browser/browser_state:test_support",
Steven Holte9ee27ab2018-02-26 22:07:05146 "//ios/chrome/browser/web:test_support",
sdefresne87704da22016-10-26 17:01:19147 "//ios/chrome/test:test_support",
Steven Holte9ee27ab2018-02-26 22:07:05148 "//ios/web/public:public",
Vincent Boisselle30da39772019-07-24 18:55:47149 "//ios/web/public/test",
Danyao Wang70e34e32017-11-21 21:21:31150 "//ios/web/public/test/fakes",
Steven Holte9ee27ab2018-02-26 22:07:05151 "//net:test_support",
sdefresne87704da22016-10-26 17:01:19152 "//testing/gtest",
153 ]
154}
sdefresne69edf1b2016-12-19 22:53:32155
156source_set("metrics_internal") {
stkhapugin7ad61a72017-05-03 16:41:17157 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32158 sources = [
Jean-François Geyelin9586755e2017-08-17 11:37:27159 "drag_and_drop_recorder.h",
160 "drag_and_drop_recorder.mm",
sdefresne69edf1b2016-12-19 22:53:32161 "first_user_action_recorder.cc",
162 "first_user_action_recorder.h",
163 "new_tab_page_uma.h",
164 "new_tab_page_uma.mm",
165 "size_class_recorder.h",
166 "size_class_recorder.mm",
167 "size_class_recorder_private.h",
Sylvain Defresne890975f52017-08-24 17:42:26168 "tab_usage_recorder.h",
169 "tab_usage_recorder.mm",
sdefresne69edf1b2016-12-19 22:53:32170 ]
171 deps = [
sdefresne037962f2017-01-05 08:51:39172 ":metrics",
sdefresne69edf1b2016-12-19 22:53:32173 "//base",
David Benjamin2e989772019-08-01 16:36:04174 "//components/google/core/common",
sdefresne69edf1b2016-12-19 22:53:32175 "//ios/chrome/browser",
176 "//ios/chrome/browser/browser_state",
Sylvain Defresne890975f52017-08-24 17:42:26177 "//ios/chrome/browser/prerender",
sdefresne69edf1b2016-12-19 22:53:32178 "//ios/chrome/browser/tabs",
Gauthier Ambard4d0fb7402019-04-23 13:05:16179 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26180 "//ios/chrome/browser/web_state_list",
sdefresne69edf1b2016-12-19 22:53:32181 "//ios/web",
Olivier Robin3ddd9732019-06-21 14:44:07182 "//services/metrics/public/cpp:ukm_builders",
sdefresne037962f2017-01-05 08:51:39183 "//ui/base",
sdefresne69edf1b2016-12-19 22:53:32184 "//url",
185 ]
186 libs = [ "UIKit.framework" ]
187}
188
189source_set("unit_tests_internal") {
lindsayw515ce762017-05-29 10:45:10190 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32191 testonly = true
192 sources = [
193 "first_user_action_recorder_unittest.cc",
194 "size_class_recorder_unittest.mm",
195 "tab_usage_recorder_unittest.mm",
196 ]
197 deps = [
sdefresne037962f2017-01-05 08:51:39198 ":metrics",
sdefresne69edf1b2016-12-19 22:53:32199 ":metrics_internal",
200 "//base",
201 "//base/test:test_support",
Gauthier Ambard4d0fb7402019-04-23 13:05:16202 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26203 "//ios/chrome/browser/web_state_list",
204 "//ios/chrome/browser/web_state_list:test_support",
sdefresne69edf1b2016-12-19 22:53:32205 "//ios/testing:ocmock_support",
206 "//ios/web",
baxley66cc96f02017-05-31 18:13:32207 "//ios/web/public/test",
kkhorimoto8dd141c2017-06-02 02:36:35208 "//ios/web/public/test/fakes",
sdefresne69edf1b2016-12-19 22:53:32209 "//testing/gtest",
sdefresne69edf1b2016-12-19 22:53:32210 ]
211}
212
213source_set("eg_tests") {
stkhapugin1b8ec122017-02-06 19:13:07214 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32215 testonly = true
216 sources = [
217 "tab_usage_recorder_egtest.mm",
Mohamad Ahmadib1eb9392017-11-18 23:34:40218 "ukm_egtest.mm",
sdefresne69edf1b2016-12-19 22:53:32219 ]
220 deps = [
sdefresne037962f2017-01-05 08:51:39221 ":metrics_internal",
lpromeroeb702092017-05-02 15:27:43222 ":test_support",
sdefresne69edf1b2016-12-19 22:53:32223 "//base",
224 "//base/test:test_support",
Mohamad Ahmadib1eb9392017-11-18 23:34:40225 "//components/browser_sync",
226 "//components/metrics",
227 "//components/metrics_services_manager",
sdefresne69edf1b2016-12-19 22:53:32228 "//components/strings",
Mohamad Ahmadib1eb9392017-11-18 23:34:40229 "//components/ukm",
Steven Holte9ee27ab2018-02-26 22:07:05230 "//components/ukm:test_support",
Mihai Sardarescu44478792019-05-20 13:58:26231 "//components/unified_consent:unified_consent",
Mohamad Ahmadib1eb9392017-11-18 23:34:40232 "//ios/chrome/app/strings:ios_strings_grit",
233 "//ios/chrome/browser",
234 "//ios/chrome/browser/metrics",
235 "//ios/chrome/browser/signin",
236 "//ios/chrome/browser/sync",
Mohamad Ahmadib1eb9392017-11-18 23:34:40237 "//ios/chrome/browser/ui/authentication",
Mohamad Ahmadib1eb9392017-11-18 23:34:40238 "//ios/chrome/browser/ui/authentication:eg_test_support",
Gauthier Ambard2f8f18b2018-12-13 13:20:09239 "//ios/chrome/browser/ui/authentication/cells",
Gauthier Ambardea529df2018-09-26 08:46:10240 "//ios/chrome/browser/ui/popup_menu:constants",
sdefresne69edf1b2016-12-19 22:53:32241 "//ios/chrome/browser/ui/settings",
Gauthier Ambard1dfff732018-02-22 12:50:21242 "//ios/chrome/browser/ui/toolbar/buttons",
sczs42f7f7482017-11-08 01:13:27243 "//ios/chrome/browser/ui/toolbar/public",
Gauthier Ambard4d0fb7402019-04-23 13:05:16244 "//ios/chrome/browser/ui/util",
Maksym Onufriienkob13e6392019-08-05 21:19:12245 "//ios/chrome/test:eg_test_support",
sdefresne69edf1b2016-12-19 22:53:32246 "//ios/chrome/test/app:test_support",
247 "//ios/chrome/test/earl_grey:test_support",
Mohamad Ahmadib1eb9392017-11-18 23:34:40248 "//ios/public/provider/chrome/browser/signin:test_support",
baxley68f208ca2017-01-24 23:58:16249 "//ios/web:earl_grey_test_support",
baxley66cc96f02017-05-31 18:13:32250 "//ios/web/public/test",
Rohit Raof1aa7372019-04-09 17:33:35251 "//ios/web/public/test:element_selector",
baxley66cc96f02017-05-31 18:13:32252 "//ios/web/public/test/http_server",
sdefresne69edf1b2016-12-19 22:53:32253 "//ui/base",
lpromeroeb702092017-05-02 15:27:43254 "//url",
sdefresne69edf1b2016-12-19 22:53:32255 ]
256 libs = [ "XCTest.framework" ]
257}
lpromeroeb702092017-05-02 15:27:43258
lpromeroeb702092017-05-02 15:27:43259source_set("test_support") {
260 testonly = true
261 sources = [
262 "tab_usage_recorder_test_util.h",
263 "tab_usage_recorder_test_util.mm",
264 ]
265 deps = [
266 "//base",
Rohit Rao4a8424d2018-04-25 14:36:08267 "//ios/chrome/app:app_internal",
lpromeroeb702092017-05-02 15:27:43268 "//ios/chrome/app/strings",
Rohit Rao4a8424d2018-04-25 14:36:08269 "//ios/chrome/browser/tabs",
Rohit Rao4a8424d2018-04-25 14:36:08270 "//ios/chrome/browser/ui/main",
Gauthier Ambardea529df2018-09-26 08:46:10271 "//ios/chrome/browser/ui/popup_menu:constants",
Gauthier Ambard4d0fb7402019-04-23 13:05:16272 "//ios/chrome/browser/ui/util",
Rohit Rao4a8424d2018-04-25 14:36:08273 "//ios/chrome/browser/web_state_list",
lpromeroeb702092017-05-02 15:27:43274 "//ios/chrome/test/app:test_support",
275 "//ios/chrome/test/earl_grey:test_support",
lpromeroeb702092017-05-02 15:27:43276 "//ui/base",
277 ]
278 configs += [ "//build/config/compiler:enable_arc" ]
279}
Gayane Petrosyanf3ecb1452018-05-23 19:50:47280
281import("//components/metrics/generate_expired_histograms_array.gni")
282
283generate_expired_histograms_array("expired_histograms_array") {
284 inputs = [
285 "//tools/metrics/histograms/histograms.xml",
286 "//tools/metrics/histograms/enums.xml",
287 ]
288 namespace = ""
289 header_filename = "ios_expired_histograms_array.h"
290 major_branch_date_filepath = "//chrome/MAJOR_BRANCH_DATE"
291 milestone_filepath = "//chrome/VERSION"
292}