# 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/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/rappor", "//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", "//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/main:scene_state_header", "//ios/chrome/browser/ui/overscroll_actions", "//ios/chrome/browser/ui/util:multiwindow_util", "//ios/chrome/browser/ui/whats_new:utils", "//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/main:scene_state_header", "//ios/chrome/browser/ui/whats_new:utils", "//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 = [ "drag_and_drop_recorder.h", "drag_and_drop_recorder.mm", "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", ] }