# 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("main") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "browser_view_information.h",
    "browser_view_wrangler.h",
    "browser_view_wrangler.mm",
    "bvc_container_view_controller.h",
    "bvc_container_view_controller.mm",
    "main_containing_view_controller.h",
    "main_containing_view_controller.mm",
    "main_coordinator.h",
    "main_coordinator.mm",
    "main_presenting_view_controller.h",
    "main_presenting_view_controller.mm",
    "view_controller_swapping.h",
  ]
  deps = [
    ":feature_flags",
    "//base",
    "//ios/chrome/app/resources:launchscreen_xib",
    "//ios/chrome/browser",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/browsing_data",
    "//ios/chrome/browser/crash_report:crash_report_internal",
    "//ios/chrome/browser/device_sharing",
    "//ios/chrome/browser/sessions",
    "//ios/chrome/browser/sessions:serialisation",
    "//ios/chrome/browser/tabs",
    "//ios/chrome/browser/tabs:tabs_internal",
    "//ios/chrome/browser/ui/main/transitions",
    "//ios/chrome/browser/ui/tab_switcher",
    "//ios/public/provider/chrome/browser",
  ]
  public_deps = [
    "//ios/chrome/browser/ui:ui_internal",
  ]
  libs = [ "UIKit.framework" ]
}

source_set("feature_flags") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "main_feature_flags.cc",
    "main_feature_flags.h",
  ]
  deps = [
    "//base",
  ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "browser_view_wrangler_unittest.mm",
    "main_containing_view_controller_unittest.mm",
    "main_coordinator_unittest.mm",
    "main_presenting_view_controller_unittest.mm",
  ]
  deps = [
    ":main",
    ":test_support",
    "//base",
    "//base/test:test_support",
    "//components/bookmarks/test",
    "//ios/chrome/browser/bookmarks",
    "//ios/chrome/browser/browser_state:test_support",
    "//ios/chrome/browser/tabs",
    "//ios/chrome/browser/ui:ui_internal",
    "//ios/chrome/browser/ui/tab_switcher",
    "//ios/chrome/test:block_cleanup_test",
    "//ios/web/public/test",
    "//testing/gtest",
  ]
}

source_set("test_support") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "main_view_controller_test.h",
    "main_view_controller_test.mm",
  ]
  deps = [
    "//base",
    "//ios/chrome/browser/ui/tab_switcher",
    "//ios/chrome/test:test_support",
  ]
}
