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

static_library("webdata_services") {
  output_name = "webdata_services"

  sources = [
    "web_data_service_wrapper.cc",
    "web_data_service_wrapper.h",
  ]

  deps = [
    "//base",
    "//components/autofill/core/browser",
    "//components/autofill/core/common",
    "//components/keyed_service/core",
    "//components/password_manager/core/browser",
    "//components/search_engines",
    "//components/signin/public/webdata",
    "//components/sync",
    "//components/webdata/common",
    "//sql",
  ]

  if (!is_ios) {
    deps += [ "//components/payments/content:utils" ]
  }
}

source_set("unit_tests") {
  testonly = true

  sources = [
    "web_data_service_wrapper_unittest.cc",
  ]

  deps = [
    ":webdata_services",
    "//base",
    "//base/test:test_support",
    "//components/search_engines",
    "//testing/gtest",
  ]
}
