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

static_library("image_fetcher") {
  sources = [
    "image_data_fetcher.cc",
    "image_data_fetcher.h",
    "image_decoder.h",
    "image_fetcher.h",
    "image_fetcher_delegate.h",
    "image_fetcher_impl.cc",
    "image_fetcher_impl.h",
  ]

  public_deps = [
    "//base",
    "//components/data_use_measurement/core",
    "//net",
    "//url",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "image_data_fetcher_unittest.cc",
  ]
  deps = [
    ":image_fetcher",
    "//net",
    "//net:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]
}
