blob: d4578305d8be1fe12769d906632422270c12464b [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",
Mark Cogan7ed77ac2019-05-28 19:01:08112 "//ios/web/public/deprecated",
juanmihdec332312019-02-04 17:30:58113 "//url",
sdefresne87704da22016-10-26 17:01:19114 ]
115}
116
117source_set("unit_tests") {
stkhapugin48471ab2016-12-05 14:31:19118 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne87704da22016-10-26 17:01:19119 testonly = true
120 sources = [
Vincent Boisselle30da39772019-07-24 18:55:47121 "chrome_browser_state_client_unittest.mm",
sdefresne87704da22016-10-26 17:01:19122 "ios_chrome_metrics_service_accessor_unittest.cc",
Peter K. Lee1f9c5102019-08-19 17:48:45123 "ios_chrome_metrics_service_client_unittest.mm",
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",
Justin Cohenbb4afffd2019-09-06 02:09:47131 ":features",
sdefresne87704da22016-10-26 17:01:19132 ":metrics",
133 "//base",
134 "//base/test:test_support",
Nico Weber1574e6c2019-07-31 17:50:47135 "//build:branding_buildflags",
sdefresne87704da22016-10-26 17:01:19136 "//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",
Javier Ernesto Flores Robles3e07ccc2019-09-11 15:30:49169 "user_interface_style_recorder.h",
170 "user_interface_style_recorder.mm",
sdefresne69edf1b2016-12-19 22:53:32171 ]
172 deps = [
sdefresne037962f2017-01-05 08:51:39173 ":metrics",
sdefresne69edf1b2016-12-19 22:53:32174 "//base",
David Benjamin2e989772019-08-01 16:36:04175 "//components/google/core/common",
sdefresne69edf1b2016-12-19 22:53:32176 "//ios/chrome/browser",
177 "//ios/chrome/browser/browser_state",
Sylvain Defresne890975f52017-08-24 17:42:26178 "//ios/chrome/browser/prerender",
sdefresne69edf1b2016-12-19 22:53:32179 "//ios/chrome/browser/tabs",
Gauthier Ambard4d0fb7402019-04-23 13:05:16180 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26181 "//ios/chrome/browser/web_state_list",
sdefresne69edf1b2016-12-19 22:53:32182 "//ios/web",
Olivier Robin3ddd9732019-06-21 14:44:07183 "//services/metrics/public/cpp:ukm_builders",
sdefresne037962f2017-01-05 08:51:39184 "//ui/base",
sdefresne69edf1b2016-12-19 22:53:32185 "//url",
186 ]
187 libs = [ "UIKit.framework" ]
188}
189
190source_set("unit_tests_internal") {
lindsayw515ce762017-05-29 10:45:10191 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32192 testonly = true
193 sources = [
194 "first_user_action_recorder_unittest.cc",
195 "size_class_recorder_unittest.mm",
196 "tab_usage_recorder_unittest.mm",
197 ]
198 deps = [
sdefresne037962f2017-01-05 08:51:39199 ":metrics",
sdefresne69edf1b2016-12-19 22:53:32200 ":metrics_internal",
201 "//base",
202 "//base/test:test_support",
Gauthier Ambard4d0fb7402019-04-23 13:05:16203 "//ios/chrome/browser/ui/util",
Sylvain Defresne890975f52017-08-24 17:42:26204 "//ios/chrome/browser/web_state_list",
205 "//ios/chrome/browser/web_state_list:test_support",
sdefresne69edf1b2016-12-19 22:53:32206 "//ios/testing:ocmock_support",
207 "//ios/web",
baxley66cc96f02017-05-31 18:13:32208 "//ios/web/public/test",
kkhorimoto8dd141c2017-06-02 02:36:35209 "//ios/web/public/test/fakes",
sdefresne69edf1b2016-12-19 22:53:32210 "//testing/gtest",
sdefresne69edf1b2016-12-19 22:53:32211 ]
212}
213
214source_set("eg_tests") {
stkhapugin1b8ec122017-02-06 19:13:07215 configs += [ "//build/config/compiler:enable_arc" ]
sdefresne69edf1b2016-12-19 22:53:32216 testonly = true
217 sources = [
218 "tab_usage_recorder_egtest.mm",
Mohamad Ahmadib1eb9392017-11-18 23:34:40219 "ukm_egtest.mm",
sdefresne69edf1b2016-12-19 22:53:32220 ]
221 deps = [
sdefresne037962f2017-01-05 08:51:39222 ":metrics_internal",
lpromeroeb702092017-05-02 15:27:43223 ":test_support",
sdefresne69edf1b2016-12-19 22:53:32224 "//base",
225 "//base/test:test_support",
Mohamad Ahmadib1eb9392017-11-18 23:34:40226 "//components/browser_sync",
227 "//components/metrics",
228 "//components/metrics_services_manager",
sdefresne69edf1b2016-12-19 22:53:32229 "//components/strings",
Mohamad Ahmadib1eb9392017-11-18 23:34:40230 "//components/ukm",
Steven Holte9ee27ab2018-02-26 22:07:05231 "//components/ukm:test_support",
Mihai Sardarescu44478792019-05-20 13:58:26232 "//components/unified_consent:unified_consent",
Mohamad Ahmadib1eb9392017-11-18 23:34:40233 "//ios/chrome/app/strings:ios_strings_grit",
234 "//ios/chrome/browser",
235 "//ios/chrome/browser/metrics",
236 "//ios/chrome/browser/signin",
237 "//ios/chrome/browser/sync",
Mohamad Ahmadib1eb9392017-11-18 23:34:40238 "//ios/chrome/browser/ui/authentication",
Mohamad Ahmadib1eb9392017-11-18 23:34:40239 "//ios/chrome/browser/ui/authentication:eg_test_support",
Gauthier Ambard2f8f18b2018-12-13 13:20:09240 "//ios/chrome/browser/ui/authentication/cells",
Gauthier Ambardea529df2018-09-26 08:46:10241 "//ios/chrome/browser/ui/popup_menu:constants",
sdefresne69edf1b2016-12-19 22:53:32242 "//ios/chrome/browser/ui/settings",
Gauthier Ambard1dfff732018-02-22 12:50:21243 "//ios/chrome/browser/ui/toolbar/buttons",
sczs42f7f7482017-11-08 01:13:27244 "//ios/chrome/browser/ui/toolbar/public",
Gauthier Ambard4d0fb7402019-04-23 13:05:16245 "//ios/chrome/browser/ui/util",
Maksym Onufriienkob13e6392019-08-05 21:19:12246 "//ios/chrome/test:eg_test_support",
sdefresne69edf1b2016-12-19 22:53:32247 "//ios/chrome/test/app:test_support",
248 "//ios/chrome/test/earl_grey:test_support",
Mohamad Ahmadib1eb9392017-11-18 23:34:40249 "//ios/public/provider/chrome/browser/signin:test_support",
baxley68f208ca2017-01-24 23:58:16250 "//ios/web:earl_grey_test_support",
baxley66cc96f02017-05-31 18:13:32251 "//ios/web/public/test",
Rohit Raof1aa7372019-04-09 17:33:35252 "//ios/web/public/test:element_selector",
baxley66cc96f02017-05-31 18:13:32253 "//ios/web/public/test/http_server",
sdefresne69edf1b2016-12-19 22:53:32254 "//ui/base",
lpromeroeb702092017-05-02 15:27:43255 "//url",
sdefresne69edf1b2016-12-19 22:53:32256 ]
257 libs = [ "XCTest.framework" ]
258}
lpromeroeb702092017-05-02 15:27:43259
lpromeroeb702092017-05-02 15:27:43260source_set("test_support") {
261 testonly = true
262 sources = [
263 "tab_usage_recorder_test_util.h",
264 "tab_usage_recorder_test_util.mm",
265 ]
266 deps = [
267 "//base",
Rohit Rao4a8424d2018-04-25 14:36:08268 "//ios/chrome/app:app_internal",
lpromeroeb702092017-05-02 15:27:43269 "//ios/chrome/app/strings",
Rohit Rao4a8424d2018-04-25 14:36:08270 "//ios/chrome/browser/tabs",
Rohit Rao4a8424d2018-04-25 14:36:08271 "//ios/chrome/browser/ui/main",
Gauthier Ambardea529df2018-09-26 08:46:10272 "//ios/chrome/browser/ui/popup_menu:constants",
Gauthier Ambard4d0fb7402019-04-23 13:05:16273 "//ios/chrome/browser/ui/util",
Rohit Rao4a8424d2018-04-25 14:36:08274 "//ios/chrome/browser/web_state_list",
Maksym Onufriienko771a85c2019-08-06 21:43:00275 "//ios/chrome/test:eg_test_support",
lpromeroeb702092017-05-02 15:27:43276 "//ios/chrome/test/app:test_support",
277 "//ios/chrome/test/earl_grey:test_support",
lpromeroeb702092017-05-02 15:27:43278 "//ui/base",
279 ]
280 configs += [ "//build/config/compiler:enable_arc" ]
281}
Gayane Petrosyanf3ecb1452018-05-23 19:50:47282
283import("//components/metrics/generate_expired_histograms_array.gni")
284
285generate_expired_histograms_array("expired_histograms_array") {
286 inputs = [
287 "//tools/metrics/histograms/histograms.xml",
288 "//tools/metrics/histograms/enums.xml",
289 ]
290 namespace = ""
291 header_filename = "ios_expired_histograms_array.h"
292 major_branch_date_filepath = "//chrome/MAJOR_BRANCH_DATE"
293 milestone_filepath = "//chrome/VERSION"
294}