# Copyright 2015 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("//build/config/features.gni")

source_set("sync_bookmarks") {
  sources = [
    "bookmark_change_processor.cc",
    "bookmark_change_processor.h",
    "bookmark_data_type_controller.cc",
    "bookmark_data_type_controller.h",
    "bookmark_model_associator.cc",
    "bookmark_model_associator.h",
  ]

  deps = [
    "//base",
    "//components/bookmarks/browser",
    "//components/favicon/core",
    "//components/history/core/browser",
    "//components/sync_driver",
    "//components/undo",
    "//sync",
    "//ui/gfx",
  ]
}

source_set("unit_tests") {
  testonly = true

  sources = [
    "bookmark_data_type_controller_unittest.cc",
  ]

  deps = [
    ":sync_bookmarks",
    "//base",
    "//base:prefs_test_support",
    "//components/bookmarks/browser",
    "//components/bookmarks/test",
    "//components/history/core/browser",
    "//components/sync_driver",
    "//components/sync_driver:test_support",
    "//sync",
    "//testing/gmock",
    "//testing/gtest",
  ]
}
