# Copyright 2017 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("bubble") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "bubble_presenter.h",
    "bubble_presenter.mm",
    "bubble_presenter_delegate.h",
    "bubble_util.h",
    "bubble_util.mm",
    "bubble_view.h",
    "bubble_view.mm",
    "bubble_view_controller.h",
    "bubble_view_controller.mm",
    "bubble_view_controller_presenter.h",
    "bubble_view_controller_presenter.mm",
  ]
  deps = [
    "//base",
    "//base:i18n",
    "//components/feature_engagement/public",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser:chrome_url_constants",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/feature_engagement",
    "//ios/chrome/browser/ui/colors",
    "//ios/chrome/browser/ui/commands",
    "//ios/chrome/browser/ui/util",
    "//ios/chrome/common",
    "//ios/chrome/common/ui/colors",
    "//ios/third_party/material_components_ios",
    "//net",
    "//ui/base",
  ]
  frameworks = [ "UIKit.framework" ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "bubble_util_unittest.mm",
    "bubble_view_controller_presenter_unittest.mm",
    "bubble_view_unittest.mm",
  ]
  deps = [
    ":bubble",
    "//base",
    "//base:i18n",
    "//ios/chrome/browser/ui/util",
    "//testing/gtest",
  ]
  frameworks = [ "CoreGraphics.framework" ]
}
