# 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("tabs") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "background_tab_animation_view.h",
    "background_tab_animation_view.mm",
    "foreground_tab_animation_view.h",
    "foreground_tab_animation_view.mm",
    "tab_strip_controller+placeholder_view.h",
    "tab_strip_controller.h",
    "tab_strip_controller.mm",
    "tab_strip_placeholder_view.h",
    "tab_strip_placeholder_view.mm",
    "tab_strip_view.h",
    "tab_strip_view.mm",
    "tab_view.h",
    "tab_view.mm",
    "tab_view_delegate.h",
    "target_frame_cache.h",
    "target_frame_cache.mm",
  ]
  public_deps = [
    "//ios/chrome/browser/tabs",
  ]
  deps = [
    "resources:open_new_tab_background",
    "resources:tabstrip_background_tab",
    "resources:tabstrip_background_tab_legacy",
    "resources:tabstrip_foreground_tab",
    "resources:tabstrip_foreground_tab_legacy",
    "resources:tabstrip_incognito_background_tab",
    "resources:tabstrip_incognito_background_tab_legacy",
    "resources:tabstrip_incognito_foreground_tab",
    "resources:tabstrip_incognito_foreground_tab_legacy",
    "resources:tabstrip_new_tab",
    "resources:tabstrip_new_tab_incognito",
    "resources:tabstrip_new_tab_incognito_legacy",
    "resources:tabstrip_new_tab_incognito_pressed",
    "resources:tabstrip_new_tab_incognito_pressed_legacy",
    "resources:tabstrip_new_tab_legacy",
    "resources:tabstrip_new_tab_pressed",
    "resources:tabstrip_new_tab_pressed_legacy",
    "resources:tabstrip_tab_close",
    "resources:tabstrip_tab_close_incognito",
    "resources:tabstrip_tab_close_incognito_legacy",
    "resources:tabstrip_tab_close_incognito_pressed",
    "resources:tabstrip_tab_close_incognito_pressed_legacy",
    "resources:tabstrip_tab_close_legacy",
    "resources:tabstrip_tab_close_pressed",
    "resources:tabstrip_tab_close_pressed_legacy",
    "resources:tabstrip_toggle_button_gradient",
    "//base",
    "//base:i18n",
    "//components/favicon/ios",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/drag_and_drop",
    "//ios/chrome/browser/snapshots",
    "//ios/chrome/browser/ui",
    "//ios/chrome/browser/ui/bubble",
    "//ios/chrome/browser/ui/colors",
    "//ios/chrome/browser/ui/commands",
    "//ios/chrome/browser/ui/favicon/resources:default_favicon",
    "//ios/chrome/browser/ui/favicon/resources:default_favicon_incognito",
    "//ios/chrome/browser/ui/fullscreen",
    "//ios/chrome/browser/ui/image_util",
    "//ios/chrome/browser/ui/popup_menu/public",
    "//ios/chrome/browser/ui/tabs/requirements",
    "//ios/chrome/browser/ui/util",
    "//ios/chrome/browser/web_state_list",
    "//ios/chrome/common",
    "//ios/third_party/material_components_ios",
    "//ios/web",
    "//third_party/google_toolbox_for_mac",
    "//ui/base",
    "//ui/gfx",
  ]
  libs = [ "UIKit.framework" ]
}

source_set("coordinator") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "tab_strip_legacy_coordinator.h",
    "tab_strip_legacy_coordinator.mm",
  ]
  deps = [
    ":tabs",
    "//ios/chrome/browser",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/ui/bubble",
    "//ios/chrome/browser/ui/commands",
    "//ios/chrome/browser/ui/coordinators:chrome_coordinators",
    "//ios/chrome/browser/ui/tabs/requirements",
  ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "tab_strip_controller_unittest.mm",
  ]
  deps = [
    ":tabs",
    "//base",
    "//ios/chrome/browser/browser_state:test_support",
    "//ios/chrome/browser/sessions:test_support",
    "//ios/chrome/browser/tabs",
    "//ios/chrome/browser/ui",
    "//ios/chrome/browser/web_state_list",
    "//ios/chrome/browser/web_state_list:test_support",
    "//ios/web/public/test",
    "//ios/web/public/test/fakes",
    "//testing/gtest",
    "//third_party/ocmock",
  ]
}

source_set("eg_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "tab_strip_egtest.mm",
  ]
  deps = [
    ":tabs",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser",
    "//ios/chrome/browser/ui",
    "//ios/chrome/test/app:test_support",
    "//ios/chrome/test/earl_grey:test_support",
    "//ios/third_party/earl_grey:earl_grey+link",
    "//ui/base",
  ]
  libs = [ "XCTest.framework" ]
}
