| # Copyright 2022 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//components/optimization_guide/features.gni") |
| |
| source_set("segmentation_platform") { |
| sources = [ |
| "model_provider_factory_impl.h", |
| "model_provider_factory_impl.mm", |
| "otr_web_state_observer.h", |
| "otr_web_state_observer.mm", |
| "segmentation_platform_config.h", |
| "segmentation_platform_config.mm", |
| "segmentation_platform_service_factory.h", |
| "segmentation_platform_service_factory.mm", |
| ] |
| deps = [ |
| "//base", |
| "//components/keyed_service/core", |
| "//components/keyed_service/ios", |
| "//components/leveldb_proto", |
| "//components/optimization_guide/core", |
| "//components/optimization_guide/core:features", |
| "//components/prefs", |
| "//components/segmentation_platform/embedder/default_model", |
| "//components/segmentation_platform/internal", |
| "//components/segmentation_platform/internal/proto", |
| "//components/segmentation_platform/public", |
| "//components/segmentation_platform/public/proto", |
| "//components/variations", |
| "//ios/chrome/browser:application_context", |
| "//ios/chrome/browser:chrome_paths", |
| "//ios/chrome/browser/browser_state", |
| "//ios/chrome/browser/history", |
| "//ios/chrome/browser/main:public", |
| "//ios/chrome/browser/metrics:accessor", |
| "//ios/chrome/browser/optimization_guide", |
| "//ios/chrome/browser/web_state_list", |
| ] |
| if (build_with_tflite_lib) { |
| deps += [ "//components/segmentation_platform/internal:optimization_guide_segmentation_handler" ] |
| } |
| configs += [ "//build/config/compiler:enable_arc" ] |
| frameworks = [ "Foundation.framework" ] |
| } |
| |
| source_set("unit_tests") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| testonly = true |
| sources = [ |
| "otr_web_state_observer_unittest.mm", |
| "segmentation_platform_service_factory_unittest.mm", |
| ] |
| deps = [ |
| ":segmentation_platform", |
| "//base/test:test_support", |
| "//components/optimization_guide/core", |
| "//components/optimization_guide/core:features", |
| "//components/segmentation_platform/internal/proto", |
| "//components/segmentation_platform/public", |
| "//components/segmentation_platform/public/proto", |
| "//ios/chrome/browser/browser_state:test_support", |
| "//ios/chrome/browser/main:public", |
| "//ios/chrome/browser/main:test_support", |
| "//ios/chrome/browser/prefs:browser_prefs", |
| "//ios/chrome/browser/web_state_list", |
| "//ios/chrome/test:test_support", |
| "//ios/web/public/test", |
| "//ios/web/public/test/fakes", |
| "//testing/gtest", |
| ] |
| } |