# 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("infobars") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "confirm_infobar_controller+protected.h",
    "confirm_infobar_controller.h",
    "confirm_infobar_controller.mm",
    "infobar.h",
    "infobar.mm",
    "infobar_container_ios.h",
    "infobar_container_ios.mm",
    "infobar_container_view.h",
    "infobar_container_view.mm",
    "infobar_controller.h",
    "infobar_controller.mm",
    "infobar_manager_impl.h",
    "infobar_manager_impl.mm",
    "infobar_utils.h",
    "infobar_utils.mm",
  ]
  deps = [
    "//base",
    "//components/translate/core/browser",
    "//ios/public/provider/chrome/browser",
    "//ios/public/provider/chrome/browser/ui",
    "//ios/web",
    "//ui/base",
    "//ui/gfx",
  ]
  public_deps = [
    "//components/infobars/core",
  ]
}
