# 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/keyed_service/core",
    "//components/password_manager/core/browser",
    "//components/search_engines",
    "//components/signin/core/browser",
    "//components/sync",
    "//components/webdata/common",
    "//sql",
  ]
}

static_library("test_support") {
  testonly = true
  sources = [
    "web_data_service_test_util.cc",
    "web_data_service_test_util.h",
  ]

  deps = [
    ":webdata_services",
    "//base",
    "//components/autofill/core/browser",
    "//components/signin/core/browser",
  ]
}
