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

source_set("model") {
  sources = [
    "impression_limit_service.cc",
    "impression_limit_service.h",
    "impression_limit_service_factory.cc",
    "impression_limit_service_factory.h",
  ]
  deps = [
    "//base",
    "//base:i18n",
    "//components/bookmarks/browser",
    "//components/commerce/core:feature_list",
    "//components/commerce/core:shopping_service",
    "//components/commerce/core/subscriptions",
    "//components/history/core/browser",
    "//components/keyed_service/core",
    "//components/pref_registry",
    "//components/prefs",
    "//ios/chrome/browser/bookmarks/model",
    "//ios/chrome/browser/commerce/model:shopping_service",
    "//ios/chrome/browser/content_suggestions/shop_card/model:prefs",
    "//ios/chrome/browser/history/model",
    "//ios/chrome/browser/ntp_tiles/model/tab_resumption:tab_resumption_prefs",
    "//ios/chrome/browser/shared/model/prefs:pref_names",
    "//ios/chrome/browser/shared/model/profile",
    "//ios/chrome/browser/shared/model/profile:profile_keyed_service_factory",
    "//url",
  ]
}

source_set("observer_bridge") {
  sources = [
    "impression_limit_service_observer_bridge.h",
    "impression_limit_service_observer_bridge.mm",
  ]
  deps = [
    ":model",
    "//base",
    "//url",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [ "impression_limit_service_unittest.cc" ]
  deps = [
    ":model",
    "//base",
    "//base/test:test_support",
    "//components/bookmarks/browser",
    "//components/bookmarks/test",
    "//components/commerce/core:feature_list",
    "//components/commerce/core:shopping_service",
    "//components/commerce/core:shopping_service_test_support",
    "//components/commerce/core/subscriptions",
    "//components/commerce/core/subscriptions:test_support",
    "//components/history/core/browser",
    "//components/keyed_service/core",
    "//components/prefs",
    "//components/prefs:test_support",
    "//ios/chrome/browser/bookmarks/model",
    "//ios/chrome/browser/commerce/model:shopping_service",
    "//ios/chrome/browser/content_suggestions/shop_card/model:prefs",
    "//ios/chrome/browser/history/model",
    "//ios/chrome/browser/ntp_tiles/model/tab_resumption:tab_resumption_prefs",
    "//ios/chrome/browser/shared/model/prefs:pref_names",
    "//ios/chrome/browser/shared/model/profile/test",
    "//ios/chrome/test:test_support",
    "//ios/web/public/test",
    "//testing/gtest",
    "//url",
  ]
}
