chromium/components/user_education/common/BUILD.gn

# Copyright 2022 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/buildflag_header.gni")
import("//build/config/ui.gni")

source_set("common") {
  sources = [
    "feature_promo_controller.cc",
    "feature_promo_controller.h",
    "feature_promo_data.cc",
    "feature_promo_data.h",
    "feature_promo_handle.cc",
    "feature_promo_handle.h",
    "feature_promo_idle_observer.cc",
    "feature_promo_idle_observer.h",
    "feature_promo_idle_policy.cc",
    "feature_promo_idle_policy.h",
    "feature_promo_lifecycle.cc",
    "feature_promo_lifecycle.h",
    "feature_promo_registry.cc",
    "feature_promo_registry.h",
    "feature_promo_result.cc",
    "feature_promo_result.h",
    "feature_promo_session_manager.cc",
    "feature_promo_session_manager.h",
    "feature_promo_session_policy.cc",
    "feature_promo_session_policy.h",
    "feature_promo_specification.cc",
    "feature_promo_specification.h",
    "feature_promo_storage_service.cc",
    "feature_promo_storage_service.h",
    "help_bubble.cc",
    "help_bubble.h",
    "help_bubble_factory.h",
    "help_bubble_factory_registry.cc",
    "help_bubble_factory_registry.h",
    "help_bubble_params.cc",
    "help_bubble_params.h",
    "new_badge_controller.cc",
    "new_badge_controller.h",
    "new_badge_policy.cc",
    "new_badge_policy.h",
    "new_badge_specification.cc",
    "new_badge_specification.h",
    "product_messaging_controller.cc",
    "product_messaging_controller.h",
    "tutorial.cc",
    "tutorial.h",
    "tutorial_description.cc",
    "tutorial_description.h",
    "tutorial_identifier.h",
    "tutorial_registry.cc",
    "tutorial_registry.h",
    "tutorial_service.cc",
    "tutorial_service.h",
    "user_education_class_properties.cc",
    "user_education_class_properties.h",
    "user_education_features.cc",
    "user_education_features.h",
    "user_education_metadata.cc",
    "user_education_metadata.h",
  ]

  deps = [
    ":events",
    "//base",
    "//components/feature_engagement/public",
    "//components/strings",
    "//components/variations",
    "//components/vector_icons",
    "//skia",
    "//third_party/abseil-cpp:absl",
    "//ui/accessibility",
    "//ui/base",
  ]
}

component("events") {
  output_name = "user_education_common_events"

  defines = [ "IS_USER_EDUCATION_COMMON_EVENTS_IMPL" ]

  sources = [
    "events.cc",
    "events.h",
  ]

  deps = [ "//ui/base" ]
}

source_set("unit_tests") {
  testonly = true

  sources = [
    "feature_promo_controller_unittest.cc",
    "feature_promo_lifecycle_unittest.cc",
    "feature_promo_session_manager_unittest.cc",
    "feature_promo_specification_unittest.cc",
    "feature_promo_storage_service_unittest.cc",
    "help_bubble_factory_registry_unittest.cc",
    "new_badge_controller_unittest.cc",
    "product_messaging_controller_unittest.cc",
    "tutorial_unittest.cc",
  ]

  deps = [
    ":common",
    ":events",
    "//base",
    "//base/test:test_support",
    "//components/feature_engagement/public",
    "//components/feature_engagement/test:test_support",
    "//components/strings",
    "//components/user_education/test",
    "//components/variations",
    "//skia",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/abseil-cpp:absl",
    "//ui/accessibility",
    "//ui/base",
    "//ui/base:test_support",
  ]
}