# Copyright 2016 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.

source_set("sync") {
  sources = [
    "ios_chrome_profile_sync_service_factory.cc",
    "ios_chrome_profile_sync_service_factory.h",
    "ios_chrome_sync_client.h",
    "ios_chrome_sync_client.mm",
    "ios_chrome_synced_tab_delegate.h",
    "ios_chrome_synced_tab_delegate.mm",
    "sync_observer_bridge.h",
    "sync_observer_bridge.mm",
    "sync_setup_service.cc",
    "sync_setup_service.h",
    "sync_setup_service_factory.cc",
    "sync_setup_service_factory.h",
  ]
  deps = [
    "//base",
    "//components/autofill/core/browser",
    "//components/browser_sync",
    "//components/dom_distiller/core",
    "//components/history/core/browser",
    "//components/invalidation/impl",
    "//components/keyed_service/core",
    "//components/keyed_service/ios",
    "//components/network_time",
    "//components/password_manager/core/browser",
    "//components/password_manager/sync/browser",
    "//components/prefs",
    "//components/search_engines",
    "//components/sessions",
    "//components/signin/core/browser",
    "//components/sync",
    "//components/sync_preferences",
    "//components/sync_sessions",
    "//google_apis",
    "//ios/chrome/browser",
    "//ios/chrome/browser/autofill",
    "//ios/chrome/browser/bookmarks",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/dom_distiller",
    "//ios/chrome/browser/favicon",
    "//ios/chrome/browser/history",
    "//ios/chrome/browser/invalidation",
    "//ios/chrome/browser/passwords",
    "//ios/chrome/browser/search_engines",
    "//ios/chrome/browser/services/gcm",
    "//ios/chrome/browser/sessions",
    "//ios/chrome/browser/signin",
    "//ios/chrome/browser/sync/glue",
    "//ios/chrome/browser/sync/sessions",
    "//ios/chrome/browser/undo",
    "//ios/chrome/common",
    "//ios/public/provider/chrome/browser",
    "//ios/web",
    "//net",
    "//ui/base",
    "//url",
  ]
  allow_circular_includes_from = [
    "//ios/chrome/browser/history",
    "//ios/chrome/browser/passwords",
    "//ios/chrome/browser/signin",
    "//ios/chrome/browser/sync/glue",
    "//ios/chrome/browser/sync/sessions",
  ]
}

source_set("test_support") {
  testonly = true
  sources = [
    "fake_sync_service_factory.cc",
    "fake_sync_service_factory.h",
    "ios_chrome_profile_sync_test_util.cc",
    "ios_chrome_profile_sync_test_util.h",
    "sync_setup_service_mock.cc",
    "sync_setup_service_mock.h",
  ]
  deps = [
    ":sync",
    "//base",
    "//components/browser_sync",
    "//components/browser_sync:test_support",
    "//components/keyed_service/core",
    "//components/keyed_service/ios",
    "//components/signin/core/browser",
    "//components/sync",
    "//components/sync:test_support_driver",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/signin",
    "//ios/chrome/common",
    "//ios/web",
  ]
  public_deps = [
    "//testing/gmock",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "ios_chrome_profile_sync_service_factory_unittest.cc",
  ]
  deps = [
    ":sync",
    "//base",
    "//components/browser_sync",
    "//components/sync",
    "//ios/chrome/browser/browser_state:test_support",
    "//ios/web:test_support",
    "//testing/gtest",
  ]
}
