blob: a9dc4816c58e97b0976bc3a5d34f0058e0e03d8c [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",
sdefresne87704da22016-10-26 17:01:1964 "mobile_session_shutdown_metrics_provider.h",
65 "mobile_session_shutdown_metrics_provider.mm",
66 "previous_session_info.h",
67 "previous_session_info.mm",
68 "previous_session_info_private.h",
Steven Holte5c275a502018-10-04 18:29:5569 ]
70 public_deps = [
71 ":ukm_url_recorder",
sdefresne87704da22016-10-26 17:01:1972 ]
73 deps = [
Vincent Boisselle30da39772019-07-24 18:55:4774 ":chrome_browser_state_client",
Justin Cohen9fde86052019-05-28 23:45:4775 ":features",
sdefresne87704da22016-10-26 17:01:1976 "//base",
holte1334c0aa2017-02-09 22:52:4177 "//components/browser_sync",
sdefresne87704da22016-10-26 17:01:1978 "//components/crash/core/common",
holte7b74c622017-01-23 23:13:0779 "//components/keyed_service/core",
sdefresne87704da22016-10-26 17:01:1980 "//components/keyed_service/ios",
81 "//components/metrics",
Vincent Boisselle30da39772019-07-24 18:55:4782 "//components/metrics:demographic_metrics_provider",
sdefresne87704da22016-10-26 17:01:1983 "//components/metrics:net",
sdefresne87704da22016-10-26 17:01:1984 "//components/metrics:ui",
85 "//components/metrics_services_manager",
86 "//components/navigation_metrics",
87 "//components/omnibox/browser",
88 "//components/prefs",
89 "//components/rappor",
90 "//components/signin/core/browser",
91 "//components/sync",
Marc Treibb55b67a2019-05-07 14:37:3992 "//components/sync_device_info",
holte7b74c622017-01-23 23:13:0793 "//components/ukm",
94 "//components/ukm:observers",
sdefresne87704da22016-10-26 17:01:1995 "//components/variations",
96 "//components/variations/service",
97 "//components/version_info",
sdefresnecd5a0de2016-10-28 12:32:3698 "//ios/chrome/browser",
sdefresne87704da22016-10-26 17:01:1999 "//ios/chrome/browser/browser_state",
100 "//ios/chrome/browser/crash_report",
101 "//ios/chrome/browser/google",
holte7b74c622017-01-23 23:13:07102 "//ios/chrome/browser/history:history",
sdefresne87704da22016-10-26 17:01:19103 "//ios/chrome/browser/signin",
104 "//ios/chrome/browser/sync",
sdefresne6165c8742017-01-16 15:42:02105 "//ios/chrome/browser/tabs",
rogerm95c554122017-04-05 12:11:52106 "//ios/chrome/browser/translate",
sdefresne87704da22016-10-26 17:01:19107 "//ios/chrome/browser/variations",
108 "//ios/chrome/browser/variations:ios_chrome_ui_string_overrider_factory",
Mohamad Ahmadib1eb9392017-11-18 23:34:40109 "//ios/chrome/browser/web_state_list",
sdefresne87704da22016-10-26 17:01:19110 "//ios/chrome/common",
Mingyun Li78c631f2019-04-10 02:42:49111 "//ios/public/provider/chrome/browser",
112 "//ios/public/provider/chrome/browser/user",
Mark Cogan7ed77ac2019-05-28 19:01:08113 "//ios/web/public/deprecated",
juanmihdec332312019-02-04 17:30:58114 "//url",
sdefresne87704da22016-10-26 17:01:19115 ]
116}
117
118source_set("unit_tests") {
stkhapugin48471ab2016-12-05 14:31:19119 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:19120 testonly = true
121 sources = [
Vincent Boisselle30da39772019-07-24 18:55:47122 "chrome_browser_state_client_unittest.mm",
sdefresne87704da22016-10-26 17:01:19123 "ios_chrome_metrics_service_accessor_unittest.cc",
Danyao Wang70e34e32017-11-21 21:21:31124 "ios_chrome_stability_metrics_provider_unittest.mm",
sdefresne87704da22016-10-26 17:01:19125 "mobile_session_shutdown_metrics_provider_unittest.mm",
126 "previous_session_info_unittest.mm",
Steven Holte9ee27ab2018-02-26 22:07:05127 "ukm_url_recorder_unittest.mm",
sdefresne87704da22016-10-26 17:01:19128 ]
129 deps = [
Vincent Boisselle30da39772019-07-24 18:55:47130 ":chrome_browser_state_client",
sdefresne87704da22016-10-26 17:01:19131 ":metrics",
132 "//base",
133 "//base/test:test_support",
Nico Weber1574e6c2019-07-31 17:50:47134 "//build:branding_buildflags",
sdefresne87704da22016-10-26 17:01:19135 "//components/metrics",
136 "//components/metrics:test_support",
Vincent Boisselle30da39772019-07-24 18:55:47137 "//components/network_time:network_time",
sdefresne87704da22016-10-26 17:01:19138 "//components/prefs",
139 "//components/prefs:test_support",
Steven Holte9ee27ab2018-02-26 22:07:05140 "//components/ukm:test_support",
sdefresne87704da22016-10-26 17:01:19141 "//components/version_info",
Vincent Boisselle30da39772019-07-24 18:55:47142 "//ios/chrome/browser",
143 "//ios/chrome/browser/browser_state:test_support",
Steven Holte9ee27ab2018-02-26 22:07:05144 "//ios/chrome/browser/web:test_support",
sdefresne87704da22016-10-26 17:01:19145 "//ios/chrome/test:test_support",
Steven Holte9ee27ab2018-02-26 22:07:05146 "//ios/web/public:public",
Vincent Boisselle30da39772019-07-24 18:55:47147 "//ios/web/public/test",
Danyao Wang70e34e32017-11-21 21:21:31148 "//ios/web/public/test/fakes",
Steven Holte9ee27ab2018-02-26 22:07:05149 "//net:test_support",
sdefresne87704da22016-10-26 17:01:19150 "//testing/gtest",
151 ]
152}
sdefresne69edf1b2016-12-19 22:53:32153
154source_set("metrics_internal") {
stkhapugin7ad61a72017-05-03 16:41:17155 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32156 sources = [
Jean-François Geyelin9586755e2017-08-17 11:37:27157 "drag_and_drop_recorder.h",
158 "drag_and_drop_recorder.mm",
sdefresne69edf1b2016-12-19 22:53:32159 "first_user_action_recorder.cc",
160 "first_user_action_recorder.h",
161 "new_tab_page_uma.h",
162 "new_tab_page_uma.mm",
163 "size_class_recorder.h",
164 "size_class_recorder.mm",
165 "size_class_recorder_private.h",
Sylvain Defresne890975f52017-08-24 17:42:26166 "tab_usage_recorder.h",
167 "tab_usage_recorder.mm",
sdefresne69edf1b2016-12-19 22:53:32168 ]
169 deps = [
sdefresne037962f2017-01-05 08:51:39170 ":metrics",
sdefresne69edf1b2016-12-19 22:53:32171 "//base",
David Benjamin2e989772019-08-01 16:36:04172 "//components/google/core/common",
sdefresne69edf1b2016-12-19 22:53:32173 "//ios/chrome/browser",
174 "//ios/chrome/browser/browser_state",
Sylvain Defresne890975f52017-08-24 17:42:26175 "//ios/chrome/browser/prerender",
sdefresne69edf1b2016-12-19 22:53:32176 "//ios/chrome/browser/tabs",
Gauthier Ambard4d0fb7402019-04-23 13:05:16177 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26178 "//ios/chrome/browser/web_state_list",
sdefresne69edf1b2016-12-19 22:53:32179 "//ios/web",
Olivier Robin3ddd9732019-06-21 14:44:07180 "//services/metrics/public/cpp:ukm_builders",
sdefresne037962f2017-01-05 08:51:39181 "//ui/base",
sdefresne69edf1b2016-12-19 22:53:32182 "//url",
183 ]
184 libs = [ "UIKit.framework" ]
185}
186
187source_set("unit_tests_internal") {
lindsayw515ce762017-05-29 10:45:10188 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32189 testonly = true
190 sources = [
191 "first_user_action_recorder_unittest.cc",
192 "size_class_recorder_unittest.mm",
193 "tab_usage_recorder_unittest.mm",
194 ]
195 deps = [
sdefresne037962f2017-01-05 08:51:39196 ":metrics",
sdefresne69edf1b2016-12-19 22:53:32197 ":metrics_internal",
198 "//base",
199 "//base/test:test_support",
Gauthier Ambard4d0fb7402019-04-23 13:05:16200 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26201 "//ios/chrome/browser/web_state_list",
202 "//ios/chrome/browser/web_state_list:test_support",
sdefresne69edf1b2016-12-19 22:53:32203 "//ios/testing:ocmock_support",
204 "//ios/web",
baxley66cc96f02017-05-31 18:13:32205 "//ios/web/public/test",
kkhorimoto8dd141c2017-06-02 02:36:35206 "//ios/web/public/test/fakes",
sdefresne69edf1b2016-12-19 22:53:32207 "//testing/gtest",
sdefresne69edf1b2016-12-19 22:53:32208 ]
209}
210
211source_set("eg_tests") {
stkhapugin1b8ec122017-02-06 19:13:07212 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32213 testonly = true
214 sources = [
215 "tab_usage_recorder_egtest.mm",
Mohamad Ahmadib1eb9392017-11-18 23:34:40216 "ukm_egtest.mm",
sdefresne69edf1b2016-12-19 22:53:32217 ]
218 deps = [
sdefresne037962f2017-01-05 08:51:39219 ":metrics_internal",
lpromeroeb702092017-05-02 15:27:43220 ":test_support",
sdefresne69edf1b2016-12-19 22:53:32221 "//base",
222 "//base/test:test_support",
Mohamad Ahmadib1eb9392017-11-18 23:34:40223 "//components/browser_sync",
224 "//components/metrics",
225 "//components/metrics_services_manager",
sdefresne69edf1b2016-12-19 22:53:32226 "//components/strings",
Mohamad Ahmadib1eb9392017-11-18 23:34:40227 "//components/ukm",
Steven Holte9ee27ab2018-02-26 22:07:05228 "//components/ukm:test_support",
Mihai Sardarescu44478792019-05-20 13:58:26229 "//components/unified_consent:unified_consent",
Mohamad Ahmadib1eb9392017-11-18 23:34:40230 "//ios/chrome/app/strings:ios_strings_grit",
231 "//ios/chrome/browser",
232 "//ios/chrome/browser/metrics",
233 "//ios/chrome/browser/signin",
234 "//ios/chrome/browser/sync",
Mohamad Ahmadib1eb9392017-11-18 23:34:40235 "//ios/chrome/browser/ui/authentication",
Mohamad Ahmadib1eb9392017-11-18 23:34:40236 "//ios/chrome/browser/ui/authentication:eg_test_support",
Gauthier Ambard2f8f18b2018-12-13 13:20:09237 "//ios/chrome/browser/ui/authentication/cells",
Gauthier Ambardea529df2018-09-26 08:46:10238 "//ios/chrome/browser/ui/popup_menu:constants",
sdefresne69edf1b2016-12-19 22:53:32239 "//ios/chrome/browser/ui/settings",
Gauthier Ambard1dfff732018-02-22 12:50:21240 "//ios/chrome/browser/ui/toolbar/buttons",
sczs42f7f7482017-11-08 01:13:27241 "//ios/chrome/browser/ui/toolbar/public",
Gauthier Ambard4d0fb7402019-04-23 13:05:16242 "//ios/chrome/browser/ui/util",
Maksym Onufriienkob13e6392019-08-05 21:19:12243 "//ios/chrome/test:eg_test_support",
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",
Maksym Onufriienko771a85c2019-08-06 21:43:00272 "//ios/chrome/test:eg_test_support",
lpromeroeb702092017-05-02 15:27:43273 "//ios/chrome/test/app:test_support",
274 "//ios/chrome/test/earl_grey:test_support",
lpromeroeb702092017-05-02 15:27:43275 "//ui/base",
276 ]
277 configs += [ "//build/config/compiler:enable_arc" ]
278}
Gayane Petrosyanf3ecb1452018-05-23 19:50:47279
280import("//components/metrics/generate_expired_histograms_array.gni")
281
282generate_expired_histograms_array("expired_histograms_array") {
283 inputs = [
284 "//tools/metrics/histograms/histograms.xml",
285 "//tools/metrics/histograms/enums.xml",
286 ]
287 namespace = ""
288 header_filename = "ios_expired_histograms_array.h"
289 major_branch_date_filepath = "//chrome/MAJOR_BRANCH_DATE"
290 milestone_filepath = "//chrome/VERSION"
291}