blob: b69fe62e1a434565bdfb52f36866eb6a54330bef [file] [log] [blame]
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
source_set("chrome_browser_state_client") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"chrome_browser_state_client.h",
"chrome_browser_state_client.mm",
]
deps = [
"//base",
"//components/metrics/demographics",
"//components/network_time",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/sync",
]
}
source_set("metrics") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"incognito_usage_app_state_agent.h",
"incognito_usage_app_state_agent.mm",
"incognito_web_state_observer.h",
"incognito_web_state_observer.mm",
"ios_chrome_default_browser_metrics_provider.h",
"ios_chrome_default_browser_metrics_provider.mm",
"ios_chrome_metrics_service_accessor.cc",
"ios_chrome_metrics_service_accessor.h",
"ios_chrome_metrics_service_client.h",
"ios_chrome_metrics_service_client.mm",
"ios_chrome_metrics_services_manager_client.h",
"ios_chrome_metrics_services_manager_client.mm",
"ios_chrome_stability_metrics_provider.h",
"ios_chrome_stability_metrics_provider.mm",
"ios_profile_session_durations_service.h",
"ios_profile_session_durations_service.mm",
"ios_profile_session_durations_service_factory.h",
"ios_profile_session_durations_service_factory.mm",
"mobile_session_shutdown_metrics_provider.h",
"mobile_session_shutdown_metrics_provider.mm",
"pageload_foreground_duration_tab_helper.h",
"pageload_foreground_duration_tab_helper.mm",
"window_configuration_recorder.h",
"window_configuration_recorder.mm",
]
public_deps = [ "//components/ukm/ios:ukm_url_recorder" ]
deps = [
":chrome_browser_state_client",
"//base",
"//components/breadcrumbs/core",
"//components/browser_sync",
"//components/crash/core/common",
"//components/keyed_service/core",
"//components/keyed_service/ios",
"//components/metrics",
"//components/metrics:net",
"//components/metrics:ui",
"//components/metrics/demographics",
"//components/metrics_services_manager",
"//components/navigation_metrics",
"//components/omnibox/browser",
"//components/prefs",
"//components/previous_session_info",
"//components/signin/core/browser",
"//components/sync",
"//components/sync_device_info",
"//components/ukm",
"//components/ukm:observers",
"//components/variations",
"//components/variations/service",
"//components/version_info",
"//ios/chrome/app/application_delegate:app_state_header",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/crash_report",
"//ios/chrome/browser/crash_report/breadcrumbs:feature_flags",
"//ios/chrome/browser/google",
"//ios/chrome/browser/history",
"//ios/chrome/browser/main:public",
"//ios/chrome/browser/signin",
"//ios/chrome/browser/sync",
"//ios/chrome/browser/tabs",
"//ios/chrome/browser/translate",
"//ios/chrome/browser/ui/default_promo:utils",
"//ios/chrome/browser/ui/main:scene_state_header",
"//ios/chrome/browser/ui/overscroll_actions",
"//ios/chrome/browser/variations",
"//ios/chrome/browser/variations:ios_chrome_ui_string_overrider_factory",
"//ios/chrome/browser/web_state_list",
"//ios/chrome/common",
"//ios/components/webui:url_constants",
"//ios/public/provider/chrome/browser",
"//ios/web/common",
"//ios/web/public/deprecated",
"//url",
]
}
source_set("unit_tests") {
configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"chrome_browser_state_client_unittest.mm",
"incognito_usage_app_state_agent_unittest.mm",
"ios_chrome_default_browser_metrics_provider_unittest.mm",
"ios_chrome_metrics_service_accessor_unittest.cc",
"ios_chrome_metrics_service_client_unittest.mm",
"ios_chrome_stability_metrics_provider_unittest.mm",
"mobile_session_shutdown_metrics_provider_unittest.mm",
"pageload_foreground_duration_tab_helper_unittest.mm",
]
deps = [
":chrome_browser_state_client",
":metrics",
"//base",
"//base/test:test_support",
"//build:branding_buildflags",
"//components/metrics",
"//components/metrics:test_support",
"//components/network_time:network_time",
"//components/prefs",
"//components/prefs:test_support",
"//components/previous_session_info",
"//components/ukm",
"//components/ukm:test_support",
"//components/version_info",
"//ios/chrome/app/application_delegate:app_state_header",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state:test_support",
"//ios/chrome/browser/ui/default_promo:utils",
"//ios/chrome/browser/ui/main:scene_state_header",
"//ios/chrome/browser/web:test_support",
"//ios/chrome/test:test_support",
"//ios/web/common",
"//ios/web/public",
"//ios/web/public/test",
"//ios/web/public/test/fakes",
"//net:test_support",
"//testing/gtest",
"//third_party/ocmock",
]
}
source_set("metrics_browser_agent") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"tab_usage_recorder_browser_agent.h",
"tab_usage_recorder_browser_agent.mm",
]
deps = [
":metrics",
":metrics_internal",
":tab_usage_recorder_metrics",
"//base",
"//components/google/core/common",
"//components/previous_session_info",
"//components/ukm/ios:ukm_url_recorder",
"//ios/chrome/browser:chrome_url_constants",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/main:public",
"//ios/chrome/browser/prerender",
"//ios/chrome/browser/sessions:restoration_agent",
"//ios/chrome/browser/sessions:restoration_observer",
"//ios/chrome/browser/web_state_list",
"//ios/components/webui:url_constants",
"//ios/web",
"//ios/web/common:user_agent",
"//services/metrics/public/cpp:ukm_builders",
"//ui/base",
"//url",
]
frameworks = [ "UIKit.framework" ]
}
source_set("metrics_internal") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"first_user_action_recorder.cc",
"first_user_action_recorder.h",
"new_tab_page_uma.h",
"new_tab_page_uma.mm",
"size_class_recorder.h",
"size_class_recorder.mm",
"size_class_recorder_private.h",
"user_interface_style_recorder.h",
"user_interface_style_recorder.mm",
]
deps = [
":metrics",
":tab_usage_recorder_metrics",
"//base",
"//components/google/core/common",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state",
"//ios/chrome/browser/ui/util",
"//ios/chrome/browser/web_state_list",
"//ios/web",
"//services/metrics/public/cpp:ukm_builders",
"//ui/base",
"//url",
]
frameworks = [ "UIKit.framework" ]
}
source_set("tab_usage_recorder_metrics") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"tab_usage_recorder_metrics.h",
"tab_usage_recorder_metrics.mm",
]
deps = [ "//base" ]
}
source_set("unit_tests_internal") {
configs += [ "//build/config/compiler:enable_arc" ]
testonly = true
sources = [
"first_user_action_recorder_unittest.cc",
"size_class_recorder_unittest.mm",
"tab_usage_recorder_browser_agent_unittest.mm",
]
deps = [
":metrics",
":metrics_browser_agent",
":metrics_internal",
"//base",
"//base/test:test_support",
"//components/previous_session_info",
"//ios/chrome/browser/main:test_support",
"//ios/chrome/browser/ui/util",
"//ios/chrome/browser/web_state_list",
"//ios/testing:ocmock_support",
"//ios/web",
"//ios/web/public/test",
"//ios/web/public/test/fakes",
"//testing/gtest",
]
}
source_set("eg2_tests") {
defines = [ "CHROME_EARL_GREY_2" ]
configs += [
"//build/config/compiler:enable_arc",
"//build/config/ios:xctest_config",
]
testonly = true
sources = [
"demographics_egtest.mm",
"tab_usage_recorder_egtest.mm",
"ukm_egtest.mm",
]
deps = [
":eg_test_support+eg2",
":tab_usage_recorder_metrics",
"//base/test:test_support",
"//components/metrics/demographics",
"//components/strings:components_strings_grit",
"//components/ukm",
"//ios/chrome/app/strings:ios_strings_grit",
"//ios/chrome/browser/ui/authentication:eg_test_support+eg2",
"//ios/chrome/test:eg_test_support+eg2",
"//ios/chrome/test/earl_grey:eg_test_support+eg2",
"//ios/public/provider/chrome/browser/signin:fake_chrome_identity",
"//ios/testing/earl_grey:eg_test_support+eg2",
"//ios/third_party/earl_grey2:test_lib",
"//ios/web/public/test:element_selector",
"//ios/web/public/test/http_server",
"//ui/base:base",
]
frameworks = [ "UIKit.framework" ]
}
import("//components/metrics/generate_expired_histograms_array.gni")
generate_expired_histograms_array("expired_histograms_array") {
namespace = ""
header_filename = "ios_expired_histograms_array.h"
major_branch_date_filepath = "//chrome/MAJOR_BRANCH_DATE"
milestone_filepath = "//chrome/VERSION"
}
source_set("eg_app_support+eg2") {
defines = [ "CHROME_EARL_GREY_2" ]
configs += [
"//build/config/compiler:enable_arc",
"//build/config/ios:xctest_config",
]
testonly = true
sources = [
"metrics_app_interface.h",
"metrics_app_interface.mm",
]
deps = [
":metrics",
":metrics_internal",
"//base",
"//base/test:test_support",
"//components/metrics",
"//components/metrics/demographics:test_support",
"//components/metrics_services_manager",
"//components/network_time",
"//components/prefs",
"//components/ukm",
"//components/ukm:ukm_test_helper",
"//ios/chrome/browser",
"//ios/chrome/browser/browser_state",
"//ios/chrome/test/app:test_support",
"//ios/testing:nserror_support",
"//third_party/metrics_proto",
]
}
source_set("eg_test_support+eg2") {
defines = [ "CHROME_EARL_GREY_2" ]
configs += [
"//build/config/compiler:enable_arc",
"//build/config/ios:xctest_config",
]
testonly = true
sources = [
"metrics_app_interface.h",
"metrics_app_interface_stub.mm",
]
deps = [
"//base",
"//base/test:test_support",
"//ios/chrome/test:eg_test_support+eg2",
"//ios/chrome/test/earl_grey:eg_test_support+eg2",
"//ios/testing/earl_grey:eg_test_support+eg2",
"//ios/third_party/earl_grey2:test_lib",
"//third_party/metrics_proto",
]
}