# Copyright 2026 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("on_device_category_classifier") {
  sources = [
    "classification_request_tracker.h",
    "classification_request_tracker.mm",
    "in_process_category_classification_service.h",
    "in_process_category_classification_service.mm",
    "in_process_passage_embedder_wrapper.h",
    "in_process_passage_embedder_wrapper.mm",
    "on_device_page_classification_service.h",
    "on_device_page_classification_service.mm",
    "on_device_page_classification_service_factory.h",
    "on_device_page_classification_service_factory.mm",
    "passage_embedder_model_loader.h",
    "passage_embedder_model_loader.mm",
  ]
  deps = [
    "//base",
    "//components/download/public/background_service:public",
    "//components/keyed_service/core",
    "//components/keyed_service/ios",
    "//components/optimization_guide/core:features",
    "//components/page_content_annotations/core",
    "//components/passage_embeddings/core",
    "//components/ukm/ios:ukm_url_recorder",
    "//ios/chrome/app:tests_hook",
    "//ios/chrome/browser/intelligence/actor/tools/model:page_stability",
    "//ios/chrome/browser/intelligence/features",
    "//ios/chrome/browser/intelligence/proto_wrappers",
    "//ios/chrome/browser/optimization_guide/model",
    "//ios/chrome/browser/shared/model/profile",
    "//ios/chrome/browser/shared/model/profile:profile_keyed_service_factory",
    "//ios/web/public",
    "//ios/web/public/js_messaging",
    "//services/metrics/public/cpp:metrics_cpp",
    "//services/metrics/public/cpp:ukm_builders",
    "//services/passage_embeddings",
    "//url",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "classification_request_tracker_unittest.mm",
    "in_process_category_classification_service_unittest.mm",
    "on_device_page_classification_service_factory_unittest.mm",
    "on_device_page_classification_service_unittest.mm",
    "passage_embedder_model_loader_unittest.mm",
  ]
  deps = [
    ":on_device_category_classifier",
    "//base",
    "//base/test:test_support",
    "//components/download/public/background_service:public",
    "//components/optimization_guide/core:test_support",
    "//components/optimization_guide/proto:optimization_guide_proto",
    "//components/page_content_annotations/core",
    "//components/passage_embeddings/core",
    "//components/ukm:test_support",
    "//ios/chrome/browser/intelligence/features",
    "//ios/chrome/browser/optimization_guide/model",
    "//ios/chrome/browser/shared/model/profile/test",
    "//ios/web/public/test",
    "//ios/web/public/test/fakes",
    "//services/metrics/public/cpp:metrics_cpp",
    "//services/metrics/public/cpp:ukm_builders",
    "//testing/gmock",
    "//testing/gtest",
    "//url",
  ]
}
