# Copyright 2015 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/features.gni")
static_library("sync_preferences") {
sources = [
"dual_layer_user_pref_store.cc",
"dual_layer_user_pref_store.h",
"pref_model_associator.cc",
"pref_model_associator.h",
"pref_model_associator_client.cc",
"pref_model_associator_client.h",
"pref_service_syncable.cc",
"pref_service_syncable.h",
"pref_service_syncable_factory.cc",
"pref_service_syncable_factory.h",
"pref_service_syncable_observer.h",
"preferences_merge_helper.cc",
"preferences_merge_helper.h",
"syncable_prefs_database.cc",
"syncable_prefs_database.h",
"synced_pref_observer.h",
]
deps = [
"//base",
"//build:chromeos_buildflags",
"//components/metrics/demographics",
"//components/policy/core/browser",
"//components/pref_registry",
"//components/prefs",
"//components/sync",
]
if (is_chromeos_ash) {
deps += [ "//ash/constants" ]
}
}
source_set("common_syncable_prefs_database") {
sources = [
"common_syncable_prefs_database.cc",
"common_syncable_prefs_database.h",
]
deps = [
":sync_preferences",
"//base",
"//components/autofill/core/common",
"//components/bookmarks/common",
"//components/browsing_data/core",
"//components/commerce/core:pref_names",
"//components/content_settings/core/common",
"//components/dom_distiller/core",
"//components/language/core/browser",
"//components/metrics",
"//components/metrics/demographics",
"//components/ntp_tiles",
"//components/omnibox/browser",
"//components/password_manager/core/common",
"//components/payments/core",
"//components/safe_browsing/core/common:safe_browsing_prefs",
"//components/saved_tab_groups:model",
"//components/search_engines",
"//components/sharing_message",
"//components/translate/core/browser",
"//components/variations/service",
]
}
static_library("test_support") {
testonly = true
sources = [
"pref_service_mock_factory.cc",
"pref_service_mock_factory.h",
"test_syncable_prefs_database.cc",
"test_syncable_prefs_database.h",
"testing_pref_service_syncable.cc",
"testing_pref_service_syncable.h",
]
deps = [
":sync_preferences",
"//base",
"//components/pref_registry",
"//components/prefs:test_support",
"//testing/gtest",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"dual_layer_user_pref_store_unittest.cc",
"pref_model_associator_unittest.cc",
"pref_service_syncable_unittest.cc",
"preferences_merge_helper_unittest.cc",
]
deps = [
":sync_preferences",
":test_support",
"//base/test:test_support",
"//build:chromeos_buildflags",
"//components/pref_registry",
"//components/prefs",
"//components/prefs:test_support",
"//components/sync",
"//components/sync:test_support",
"//testing/gtest",
]
if (is_chromeos_ash) {
deps += [ "//ash/constants" ]
}
}