# 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 = [
    "autocomplete_browser_agent.h",
    "autocomplete_browser_agent.mm",
    "autocomplete_classifier_factory.cc",
    "autocomplete_classifier_factory.h",
    "autocomplete_provider_client_impl.h",
    "autocomplete_provider_client_impl.mm",
    "autocomplete_scheme_classifier_impl.h",
    "autocomplete_scheme_classifier_impl.mm",
    "autocomplete_scoring_model_service_factory.h",
    "autocomplete_scoring_model_service_factory.mm",
    "in_memory_url_index_factory.cc",
    "in_memory_url_index_factory.h",
    "omnibox_pedal_implementation.h",
    "omnibox_pedal_implementation.mm",
    "omnibox_shortcuts_helper.h",
    "omnibox_shortcuts_helper.mm",
    "on_device_tail_model_service_factory.h",
    "on_device_tail_model_service_factory.mm",
    "provider_state_service_factory.h",
    "provider_state_service_factory.mm",
    "remote_suggestions_service_factory.h",
    "remote_suggestions_service_factory.mm",
    "shortcuts_backend_factory.h",
    "shortcuts_backend_factory.mm",
    "tab_matcher_impl.h",
    "tab_matcher_impl.mm",
    "zero_suggest_cache_service_factory.cc",
    "zero_suggest_cache_service_factory.h",
    "zero_suggest_prefetcher.h",
    "zero_suggest_prefetcher.mm",
  ]

  deps = [
    "//base",
    "//components/application_locale_storage",
    "//components/browser_sync",
    "//components/history/core/browser",
    "//components/keyed_service/ios",
    "//components/language/core/browser",
    "//components/omnibox/browser",
    "//components/omnibox/resources:omnibox_pedal_synonyms",
    "//components/optimization_guide/core:model_execution",
    "//components/prefs",
    "//components/saved_tab_groups/public",
    "//components/signin/public/identity_manager",
    "//components/strings",
    "//components/sync",
    "//components/unified_consent",
    "//ios/chrome/browser/ai_prototyping/model",
    "//ios/chrome/browser/aim/model:aim_availability",
    "//ios/chrome/browser/bookmarks/model",
    "//ios/chrome/browser/history/model",
    "//ios/chrome/browser/intelligence/proto_wrappers",
    "//ios/chrome/browser/omnibox/public",
    "//ios/chrome/browser/optimization_guide/model",
    "//ios/chrome/browser/optimization_guide/mojom",
    "//ios/chrome/browser/search_engines/model",
    "//ios/chrome/browser/shared/model/application_context",
    "//ios/chrome/browser/shared/model/browser",
    "//ios/chrome/browser/shared/model/prefs:pref_names",
    "//ios/chrome/browser/shared/model/profile",
    "//ios/chrome/browser/shared/model/profile:profile_keyed_service_factory",
    "//ios/chrome/browser/shared/model/url",
    "//ios/chrome/browser/shared/model/url:constants",
    "//ios/chrome/browser/shared/model/web_state_list",
    "//ios/chrome/browser/signin/model",
    "//ios/chrome/browser/sync/model",
    "//ios/components/webui:url_constants",
    "//ios/web",
    "//ios/web/public",
    "//url",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "omnibox_shortcuts_helper_unittest.mm",
    "remote_suggestions_service_factory_unittest.mm",
    "zero_suggest_prefetcher_unittest.mm",
  ]
  deps = [
    ":model",
    "//base/test:test_support",
    "//components/omnibox/browser",
    "//components/omnibox/browser:test_support",
    "//ios/chrome/browser/shared/model/profile/test",
    "//ios/chrome/browser/shared/model/web_state_list",
    "//ios/chrome/browser/shared/model/web_state_list/test:test_support",
    "//ios/testing:nserror_support",
    "//ios/web/public/test",
    "//ios/web/public/test/fakes",
    "//testing/gtest",
    "//third_party/ocmock",
  ]
}
