chromium/ios/chrome/browser/ui/main/BUILD.gn

# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//ios/build/chrome_build.gni")

source_set("default_browser_scene_agent") {
  sources = [
    "default_browser_promo_scene_agent.h",
    "default_browser_promo_scene_agent.mm",
  ]
  deps = [
    "//components/feature_engagement/public",
    "//ios/chrome/app/application_delegate:app_state_header",
    "//ios/chrome/browser/default_browser/model:utils",
    "//ios/chrome/browser/default_promo/ui_bundled/post_default_abandonment:features",
    "//ios/chrome/browser/feature_engagement/model",
    "//ios/chrome/browser/promos_manager/model",
    "//ios/chrome/browser/promos_manager/model:constants",
    "//ios/chrome/browser/shared/coordinator/scene:observing_scene_agent",
    "//ios/chrome/browser/signin/model",
  ]
  frameworks = [ "UIKit.framework" ]
}

source_set("incognito_blocker_scene_agent") {
  sources = [
    "incognito_blocker_scene_agent.h",
    "incognito_blocker_scene_agent.mm",
  ]
  deps = [
    "//base",
    "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
  ]
  frameworks = [ "UIKit.framework" ]
}

source_set("scene") {
  sources = [
    "ui_blocker_scene_agent.h",
    "ui_blocker_scene_agent.mm",
  ]

  deps = [
    "//base",
    "//ios/chrome/app:blocking_scene_commands",
    "//ios/chrome/app/application_delegate:app_state_header",
    "//ios/chrome/browser/blocking_overlay/ui_bundled",
    "//ios/chrome/browser/shared/coordinator/scene:observing_scene_agent",
    "//ios/chrome/browser/shared/public/commands",
  ]
  public_deps = []

  frameworks = [ "UIKit.framework" ]
}

source_set("main") {
  sources = [
    "browser_view_wrangler.h",
    "browser_view_wrangler.mm",
    "bvc_container_view_controller.h",
    "bvc_container_view_controller.mm",
    "wrangled_browser.h",
    "wrangled_browser.mm",
  ]
  deps = [
    "//base",
    "//components/translate/core/browser",
    "//ios/chrome/app:mode",
    "//ios/chrome/app/application_delegate:app_state_header",
    "//ios/chrome/app/resources:base_scene_storyboard",
    "//ios/chrome/app/resources:launchscreen_xib",
    "//ios/chrome/browser/app_launcher/model",
    "//ios/chrome/browser/autofill/model:model_internal",
    "//ios/chrome/browser/autofill/ui_bundled:coordinator",
    "//ios/chrome/browser/browser_view/ui_bundled",
    "//ios/chrome/browser/browsing_data/model",
    "//ios/chrome/browser/crash_report/model:model_internal",
    "//ios/chrome/browser/device_sharing/model",
    "//ios/chrome/browser/download/model",
    "//ios/chrome/browser/download/ui_bundled",
    "//ios/chrome/browser/incognito_reauth/ui_bundled:incognito_reauth_scene_agent",
    "//ios/chrome/browser/main/model",
    "//ios/chrome/browser/metrics/model:metrics_browser_agent",
    "//ios/chrome/browser/qr_scanner/ui_bundled:coordinator",
    "//ios/chrome/browser/reading_list/model",
    "//ios/chrome/browser/sessions/model",
    "//ios/chrome/browser/sessions/model:session_restoration_service",
    "//ios/chrome/browser/sessions/model:session_restoration_service_factory",
    "//ios/chrome/browser/sessions/model:session_util",
    "//ios/chrome/browser/settings/model/sync/utils",
    "//ios/chrome/browser/shared/coordinator/chrome_coordinator",
    "//ios/chrome/browser/shared/model/browser_state",
    "//ios/chrome/browser/shared/model/profile",
    "//ios/chrome/browser/shared/model/web_state_list",
    "//ios/chrome/browser/shared/public/commands",
    "//ios/chrome/browser/shared/ui/util:snackbar_util",
    "//ios/chrome/browser/snapshots/model",
    "//ios/chrome/browser/store_kit/model",
    "//ios/chrome/browser/tabs/model",
    "//ios/chrome/browser/tabs/model:tabs_internal",
    "//ios/chrome/browser/tabs/model/inactive_tabs",
    "//ios/chrome/browser/tabs/model/inactive_tabs:features",
    "//ios/chrome/browser/tabs/ui_bundled:constants",
    "//ios/chrome/browser/ui/browser_container",
    "//ios/chrome/browser/ui/page_info:coordinator",
    "//ios/chrome/browser/ui/print",
    "//ios/chrome/browser/ui/reading_list",
    "//ios/chrome/browser/ui/recent_tabs",
    "//ios/chrome/browser/ui/settings/sync",
    "//ios/chrome/browser/url_loading/model:url_loading_params_header",
    "//ios/chrome/browser/web/model",
    "//ios/chrome/browser/web/model:tab_helper_delegates",
    "//ios/chrome/browser/web/model:web_internal",
    "//ios/chrome/common/ui/colors",
    "//net",
  ]

  public_deps =
      [ "//ios/chrome/browser/shared/coordinator/scene:scene_state_header" ]

  # TODO(crbug.com/40139309): remove circular dependency.
  allow_circular_includes_from = [ "//ios/chrome/browser/ui/settings/sync" ]

  frameworks = [ "UIKit.framework" ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "browser_view_wrangler_unittest.mm",
    "default_browser_promo_scene_agent_unittest.mm",
    "incognito_blocker_scene_agent_unittest.mm",
  ]
  deps = [
    ":default_browser_scene_agent",
    ":incognito_blocker_scene_agent",
    ":main",
    "//base",
    "//base/test:test_support",
    "//components/bookmarks/test",
    "//components/feature_engagement/public",
    "//components/feature_engagement/test:test_support",
    "//components/sync_preferences:sync_preferences",
    "//components/sync_preferences:test_support",
    "//ios/chrome/app:app_internal",
    "//ios/chrome/app/application_delegate:app_state_header",
    "//ios/chrome/app/application_delegate:application_delegate_internal",
    "//ios/chrome/app/application_delegate:test_support",
    "//ios/chrome/app/startup",
    "//ios/chrome/browser/bookmarks/model",
    "//ios/chrome/browser/browser_view/ui_bundled",
    "//ios/chrome/browser/default_browser/model:test_support",
    "//ios/chrome/browser/default_browser/model:utils",
    "//ios/chrome/browser/default_promo/ui_bundled/post_default_abandonment:features",
    "//ios/chrome/browser/favicon/model",
    "//ios/chrome/browser/feature_engagement/model",
    "//ios/chrome/browser/history/model",
    "//ios/chrome/browser/main/model",
    "//ios/chrome/browser/prerender/model",
    "//ios/chrome/browser/promos_manager/model:constants",
    "//ios/chrome/browser/promos_manager/model:features",
    "//ios/chrome/browser/promos_manager/model:test_support",
    "//ios/chrome/browser/search_engines/model",
    "//ios/chrome/browser/sessions/model:restoration_observer",
    "//ios/chrome/browser/sessions/model:session_restoration_service",
    "//ios/chrome/browser/sessions/model:session_restoration_service_factory",
    "//ios/chrome/browser/sessions/model:test_support",
    "//ios/chrome/browser/shared/coordinator/scene",
    "//ios/chrome/browser/shared/coordinator/scene:scene_util_test_support",
    "//ios/chrome/browser/shared/coordinator/scene/test",
    "//ios/chrome/browser/shared/model/application_context",
    "//ios/chrome/browser/shared/model/browser/test:test_support",
    "//ios/chrome/browser/shared/model/prefs:browser_prefs",
    "//ios/chrome/browser/shared/model/prefs:pref_names",
    "//ios/chrome/browser/shared/model/prefs:pref_names",
    "//ios/chrome/browser/shared/model/profile/test",
    "//ios/chrome/browser/shared/public/features",
    "//ios/chrome/browser/shared/public/features:system_flags",
    "//ios/chrome/browser/signin/model",
    "//ios/chrome/browser/signin/model:fake_system_identity",
    "//ios/chrome/browser/signin/model:fake_system_identity_manager",
    "//ios/chrome/browser/signin/model:signin_util",
    "//ios/chrome/browser/signin/model:test_support",
    "//ios/chrome/browser/sync/model",
    "//ios/chrome/browser/tabs/model",
    "//ios/chrome/browser/tabs/model/inactive_tabs:features",
    "//ios/chrome/test:block_cleanup_test",
    "//ios/chrome/test:test_support",
    "//ios/testing:block_swizzler",
    "//ios/web/public/test",
    "//testing/gtest",
    "//third_party/ocmock",
  ]
}