blob: 53e50b4c8c46ec54e9ee27b7d8f03debbc3752aa [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",
136 "//components/metrics",
137 "//components/metrics:test_support",
Vincent Boisselle30da39772019-07-24 18:55:47138 "//components/network_time:network_time",
sdefresne87704da22016-10-26 17:01:19139 "//components/prefs",
140 "//components/prefs:test_support",
Steven Holte9ee27ab2018-02-26 22:07:05141 "//components/ukm:test_support",
sdefresne87704da22016-10-26 17:01:19142 "//components/version_info",
Vincent Boisselle30da39772019-07-24 18:55:47143 "//ios/chrome/browser",
144 "//ios/chrome/browser/browser_state:test_support",
Steven Holte9ee27ab2018-02-26 22:07:05145 "//ios/chrome/browser/web:test_support",
sdefresne87704da22016-10-26 17:01:19146 "//ios/chrome/test:test_support",
Steven Holte9ee27ab2018-02-26 22:07:05147 "//ios/web/public:public",
Vincent Boisselle30da39772019-07-24 18:55:47148 "//ios/web/public/test",
Danyao Wang70e34e32017-11-21 21:21:31149 "//ios/web/public/test/fakes",
Steven Holte9ee27ab2018-02-26 22:07:05150 "//net:test_support",
sdefresne87704da22016-10-26 17:01:19151 "//testing/gtest",
152 ]
153}
sdefresne69edf1b2016-12-19 22:53:32154
155source_set("metrics_internal") {
stkhapugin7ad61a72017-05-03 16:41:17156 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32157 sources = [
Jean-François Geyelin9586755e2017-08-17 11:37:27158 "drag_and_drop_recorder.h",
159 "drag_and_drop_recorder.mm",
sdefresne69edf1b2016-12-19 22:53:32160 "first_user_action_recorder.cc",
161 "first_user_action_recorder.h",
162 "new_tab_page_uma.h",
163 "new_tab_page_uma.mm",
164 "size_class_recorder.h",
165 "size_class_recorder.mm",
166 "size_class_recorder_private.h",
Sylvain Defresne890975f52017-08-24 17:42:26167 "tab_usage_recorder.h",
168 "tab_usage_recorder.mm",
sdefresne69edf1b2016-12-19 22:53:32169 ]
170 deps = [
sdefresne037962f2017-01-05 08:51:39171 ":metrics",
sdefresne69edf1b2016-12-19 22:53:32172 "//base",
173 "//components/google/core/browser",
174 "//ios/chrome/browser",
175 "//ios/chrome/browser/browser_state",
Sylvain Defresne890975f52017-08-24 17:42:26176 "//ios/chrome/browser/prerender",
sdefresne69edf1b2016-12-19 22:53:32177 "//ios/chrome/browser/tabs",
Gauthier Ambard4d0fb7402019-04-23 13:05:16178 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26179 "//ios/chrome/browser/web_state_list",
sdefresne69edf1b2016-12-19 22:53:32180 "//ios/web",
Olivier Robin3ddd9732019-06-21 14:44:07181 "//services/metrics/public/cpp:ukm_builders",
sdefresne037962f2017-01-05 08:51:39182 "//ui/base",
sdefresne69edf1b2016-12-19 22:53:32183 "//url",
184 ]
185 libs = [ "UIKit.framework" ]
186}
187
188source_set("unit_tests_internal") {
lindsayw515ce762017-05-29 10:45:10189 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32190 testonly = true
191 sources = [
192 "first_user_action_recorder_unittest.cc",
193 "size_class_recorder_unittest.mm",
194 "tab_usage_recorder_unittest.mm",
195 ]
196 deps = [
sdefresne037962f2017-01-05 08:51:39197 ":metrics",
sdefresne69edf1b2016-12-19 22:53:32198 ":metrics_internal",
199 "//base",
200 "//base/test:test_support",
Gauthier Ambard4d0fb7402019-04-23 13:05:16201 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26202 "//ios/chrome/browser/web_state_list",
203 "//ios/chrome/browser/web_state_list:test_support",
sdefresne69edf1b2016-12-19 22:53:32204 "//ios/testing:ocmock_support",
205 "//ios/web",
baxley66cc96f02017-05-31 18:13:32206 "//ios/web/public/test",
kkhorimoto8dd141c2017-06-02 02:36:35207 "//ios/web/public/test/fakes",
sdefresne69edf1b2016-12-19 22:53:32208 "//testing/gtest",
sdefresne69edf1b2016-12-19 22:53:32209 ]
210}
211
212source_set("eg_tests") {
stkhapugin1b8ec122017-02-06 19:13:07213 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32214 testonly = true
215 sources = [
216 "tab_usage_recorder_egtest.mm",
Mohamad Ahmadib1eb9392017-11-18 23:34:40217 "ukm_egtest.mm",
sdefresne69edf1b2016-12-19 22:53:32218 ]
219 deps = [
sdefresne037962f2017-01-05 08:51:39220 ":metrics_internal",
lpromeroeb702092017-05-02 15:27:43221 ":test_support",
sdefresne69edf1b2016-12-19 22:53:32222 "//base",
223 "//base/test:test_support",
Mohamad Ahmadib1eb9392017-11-18 23:34:40224 "//components/browser_sync",
225 "//components/metrics",
226 "//components/metrics_services_manager",
sdefresne69edf1b2016-12-19 22:53:32227 "//components/strings",
Mohamad Ahmadib1eb9392017-11-18 23:34:40228 "//components/ukm",
Steven Holte9ee27ab2018-02-26 22:07:05229 "//components/ukm:test_support",
Mihai Sardarescu44478792019-05-20 13:58:26230 "//components/unified_consent:unified_consent",
Mohamad Ahmadib1eb9392017-11-18 23:34:40231 "//ios/chrome/app/strings:ios_strings_grit",
232 "//ios/chrome/browser",
233 "//ios/chrome/browser/metrics",
234 "//ios/chrome/browser/signin",
235 "//ios/chrome/browser/sync",
Mohamad Ahmadib1eb9392017-11-18 23:34:40236 "//ios/chrome/browser/ui/authentication",
Mohamad Ahmadib1eb9392017-11-18 23:34:40237 "//ios/chrome/browser/ui/authentication:eg_test_support",
Gauthier Ambard2f8f18b2018-12-13 13:20:09238 "//ios/chrome/browser/ui/authentication/cells",
Gauthier Ambardea529df2018-09-26 08:46:10239 "//ios/chrome/browser/ui/popup_menu:constants",
sdefresne69edf1b2016-12-19 22:53:32240 "//ios/chrome/browser/ui/settings",
Gauthier Ambard1dfff732018-02-22 12:50:21241 "//ios/chrome/browser/ui/toolbar/buttons",
sczs42f7f7482017-11-08 01:13:27242 "//ios/chrome/browser/ui/toolbar/public",
Gauthier Ambard4d0fb7402019-04-23 13:05:16243 "//ios/chrome/browser/ui/util",
sdefresne69edf1b2016-12-19 22:53:32244 "//ios/chrome/test/app:test_support",
245 "//ios/chrome/test/earl_grey:test_support",
Mohamad Ahmadib1eb9392017-11-18 23:34:40246 "//ios/public/provider/chrome/browser/signin:test_support",
baxley68f208ca2017-01-24 23:58:16247 "//ios/web:earl_grey_test_support",
baxley66cc96f02017-05-31 18:13:32248 "//ios/web/public/test",
Rohit Raof1aa7372019-04-09 17:33:35249 "//ios/web/public/test:element_selector",
baxley66cc96f02017-05-31 18:13:32250 "//ios/web/public/test/http_server",
sdefresne69edf1b2016-12-19 22:53:32251 "//ui/base",
lpromeroeb702092017-05-02 15:27:43252 "//url",
sdefresne69edf1b2016-12-19 22:53:32253 ]
254 libs = [ "XCTest.framework" ]
255}
lpromeroeb702092017-05-02 15:27:43256
lpromeroeb702092017-05-02 15:27:43257source_set("test_support") {
258 testonly = true
259 sources = [
260 "tab_usage_recorder_test_util.h",
261 "tab_usage_recorder_test_util.mm",
262 ]
263 deps = [
264 "//base",
Rohit Rao4a8424d2018-04-25 14:36:08265 "//ios/chrome/app:app_internal",
lpromeroeb702092017-05-02 15:27:43266 "//ios/chrome/app/strings",
Rohit Rao4a8424d2018-04-25 14:36:08267 "//ios/chrome/browser/tabs",
Rohit Rao4a8424d2018-04-25 14:36:08268 "//ios/chrome/browser/ui/main",
Gauthier Ambardea529df2018-09-26 08:46:10269 "//ios/chrome/browser/ui/popup_menu:constants",
Gauthier Ambard4d0fb7402019-04-23 13:05:16270 "//ios/chrome/browser/ui/util",
Rohit Rao4a8424d2018-04-25 14:36:08271 "//ios/chrome/browser/web_state_list",
lpromeroeb702092017-05-02 15:27:43272 "//ios/chrome/test/app:test_support",
273 "//ios/chrome/test/earl_grey:test_support",
lpromeroeb702092017-05-02 15:27:43274 "//ui/base",
275 ]
276 configs += [ "//build/config/compiler:enable_arc" ]
277}
Gayane Petrosyanf3ecb1452018-05-23 19:50:47278
279import("//components/metrics/generate_expired_histograms_array.gni")
280
281generate_expired_histograms_array("expired_histograms_array") {
282 inputs = [
283 "//tools/metrics/histograms/histograms.xml",
284 "//tools/metrics/histograms/enums.xml",
285 ]
286 namespace = ""
287 header_filename = "ios_expired_histograms_array.h"
288 major_branch_date_filepath = "//chrome/MAJOR_BRANCH_DATE"
289 milestone_filepath = "//chrome/VERSION"
290}