# Copyright 2016 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 = [
    "favicon_web_state_dispatcher_impl.h",
    "favicon_web_state_dispatcher_impl.mm",
    "reading_list_browser_agent.h",
    "reading_list_browser_agent.mm",
    "reading_list_model_factory.h",
    "reading_list_model_factory.mm",
    "reading_list_web_state_observer.h",
    "reading_list_web_state_observer.mm",
  ]
  deps = [
    "//base",
    "//components/browser_sync",
    "//components/favicon/core",
    "//components/favicon/ios",
    "//components/google/core/common",
    "//components/pref_registry",
    "//components/prefs",
    "//components/reading_list/core",
    "//components/reading_list/ios",
    "//components/sync",
    "//components/ukm/ios:ukm_url_recorder",
    "//ios/chrome/app/strings:ios_strings_grit",
    "//ios/chrome/browser/favicon/model",
    "//ios/chrome/browser/history/model",
    "//ios/chrome/browser/ntp/shared/metrics:home_metrics",
    "//ios/chrome/browser/shared/model/application_context",
    "//ios/chrome/browser/shared/model/browser",
    "//ios/chrome/browser/shared/model/paths",
    "//ios/chrome/browser/shared/model/profile",
    "//ios/chrome/browser/shared/model/profile:profile_keyed_service_factory",
    "//ios/chrome/browser/shared/model/url:constants",
    "//ios/chrome/browser/shared/model/web_state_list",
    "//ios/chrome/browser/shared/public/commands",
    "//ios/chrome/browser/shared/public/features",
    "//ios/chrome/browser/shared/public/features:system_flags",
    "//ios/chrome/browser/shared/public/snackbar",
    "//ios/chrome/browser/shared/ui/elements",
    "//ios/chrome/browser/shared/ui/util",
    "//ios/chrome/browser/shared/ui/util:url_with_title",
    "//ios/chrome/browser/signin/model",
    "//ios/chrome/browser/signin/model:signin_util",
    "//ios/chrome/browser/sync/model:data_type_store_service_factory",
    "//ios/chrome/common",
    "//ios/components/security_interstitials",
    "//ios/components/webui:url_constants",
    "//ios/web/common",
    "//ios/web/public",
    "//ios/web/public/js_messaging",
    "//ios/web/public/security",
    "//net",
    "//services/metrics/public/cpp:ukm_builders",
    "//services/network/public/cpp",
    "//services/network/public/mojom",
    "//ui/base",
    "//url",
  ]
}

source_set("reading_list_remover") {
  sources = [
    "reading_list_remover_helper.h",
    "reading_list_remover_helper.mm",
  ]
  deps = [
    ":model",
    "//base",
    "//components/reading_list/core",
    "//ios/chrome/browser/shared/model/profile",
  ]
}

source_set("test_support") {
  testonly = true
  sources = [
    "reading_list_test_utils.cc",
    "reading_list_test_utils.h",
  ]
  deps = [
    "//base",
    "//components/reading_list/core:test_support",
    "//components/sync/base",
    "//components/sync/model",
    "//ios/chrome/browser/shared/model/profile",
    "//ios/chrome/browser/shared/model/profile:profile_keyed_service_factory",
  ]
  public_deps = [
    "//components/reading_list/core",
    "//ios/web/public",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "favicon_web_state_dispatcher_impl_unittest.mm",
    "reading_list_browser_agent_unittest.mm",
    "reading_list_web_state_observer_unittest.mm",
  ]
  deps = [
    ":model",
    ":test_support",
    "//base",
    "//base/test:test_support",
    "//components/favicon/core/test:test_support",
    "//components/favicon/ios",
    "//components/prefs:test_support",
    "//components/reading_list/core",
    "//components/reading_list/core:test_support",
    "//components/sync/base",
    "//components/sync/model",
    "//ios/chrome/browser/shared/model/browser/test:test_support",
    "//ios/chrome/browser/shared/model/paths",
    "//ios/chrome/browser/shared/model/prefs:browser_prefs",
    "//ios/chrome/browser/shared/model/profile/test",
    "//ios/chrome/browser/shared/public/commands",
    "//ios/chrome/test:test_support",
    "//ios/web",
    "//ios/web/public",
    "//ios/web/public/security",
    "//ios/web/public/test",
    "//ios/web/public/test/fakes",
    "//net",
    "//services/network:test_support",
    "//testing/gtest",
    "//third_party/ocmock",
    "//url",
  ]
}
