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

source_set("ntp_tiles") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "ios_most_visited_sites_factory.cc",
    "ios_most_visited_sites_factory.h",
    "ios_popular_sites_factory.cc",
    "ios_popular_sites_factory.h",
    "most_visited_sites_observer_bridge.h",
    "most_visited_sites_observer_bridge.mm",
  ]
  deps = [
    "//base",
    "//components/history/core/browser",
    "//components/image_fetcher/core",
    "//components/image_fetcher/ios",
    "//components/keyed_service/core",
    "//components/ntp_tiles",
    "//components/ntp_tiles:json_unsafe_parser",
    "//ios/chrome/browser",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/favicon",
    "//ios/chrome/browser/history",
    "//ios/chrome/browser/search_engines",
    "//ios/chrome/browser/suggestions",
    "//ios/web",
    "//services/network/public/cpp",
  ]
}

source_set("eg_tests") {
  testonly = true
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "ntp_tiles_egtest.mm",
  ]
  deps = [
    ":ntp_tiles",
    "//base/test:test_support",
    "//components/ntp_tiles:ntp_tiles",
    "//ios/chrome/test/app:test_support",
    "//ios/chrome/test/earl_grey:test_support",
    "//ios/web/public/test/http_server:http_server",
  ]
}
