chromium/ios/chrome/browser/start_surface/ui_bundled/BUILD.gn

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

source_set("feature_flags") {
  sources = [
    "start_surface_features.h",
    "start_surface_features.mm",
  ]

  deps = [
    "//base",
    "//ui/base",
  ]
}

source_set("ui_bundled") {
  sources = [
    "start_surface_recent_tab_browser_agent.h",
    "start_surface_recent_tab_browser_agent.mm",
    "start_surface_recent_tab_observer.h",
    "start_surface_recent_tab_observer.mm",
    "start_surface_recent_tab_removal_observer_bridge.h",
    "start_surface_recent_tab_removal_observer_bridge.mm",
    "start_surface_scene_agent.h",
    "start_surface_scene_agent.mm",
    "start_surface_util.h",
    "start_surface_util.mm",
  ]

  deps = [
    ":feature_flags",
    "//base",
    "//components/favicon/ios",
    "//ios/chrome/app/application_delegate:app_state_header",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser/ntp/model",
    "//ios/chrome/browser/ntp/shared/metrics:home_metrics",
    "//ios/chrome/browser/shared/coordinator/scene:observing_scene_agent",
    "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
    "//ios/chrome/browser/shared/model/url",
    "//ios/chrome/browser/shared/model/url:constants",
    "//ios/chrome/browser/shared/model/web_state_list",
    "//ios/chrome/browser/shared/public/features",
    "//ios/chrome/browser/signin/model",
    "//ios/chrome/browser/signin/model:signin_util",
    "//ios/chrome/browser/tab_insertion/model",
    "//ios/chrome/browser/ui/content_suggestions:constants",
    "//ios/web/public",
    "//ios/web/public:web_state_observer",
    "//ui/base",
  ]
}

source_set("unit_tests") {
  testonly = true

  sources = [ "start_surface_scene_agent_unittest.mm" ]
  deps = [
    ":feature_flags",
    ":ui_bundled",
    "//base",
    "//base/test:test_support",
    "//components/favicon/ios",
    "//components/sync_preferences:test_support",
    "//components/tab_groups",
    "//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/browser/ntp/model",
    "//ios/chrome/browser/shared/coordinator/scene",
    "//ios/chrome/browser/shared/coordinator/scene/test",
    "//ios/chrome/browser/shared/model/prefs:pref_names",
    "//ios/chrome/browser/shared/model/profile/test",
    "//ios/chrome/browser/shared/model/url",
    "//ios/chrome/browser/shared/model/url:constants",
    "//ios/chrome/browser/shared/model/web_state_list",
    "//ios/chrome/browser/shared/public/features",
    "//ios/chrome/browser/signin/model:fake_system_identity",
    "//ios/chrome/browser/signin/model:fake_system_identity_manager",
    "//ios/chrome/browser/tab_insertion/model",
    "//ios/chrome/test:test_support",
    "//ios/web/public/test",
    "//ios/web/public/test/fakes",
    "//testing/gtest",
    "//third_party/ocmock",
  ]
}

source_set("eg2_tests") {
  configs += [ "//build/config/ios:xctest_config" ]
  testonly = true

  sources = [ "start_surface_egtest.mm" ]

  deps = [
    ":feature_flags",
    "//build:branding_buildflags",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser/shared/public/features",
    "//ios/chrome/browser/ui/content_suggestions:constants",
    "//ios/chrome/browser/ui/content_suggestions/tab_resumption:constants",
    "//ios/chrome/test/earl_grey:eg_test_support+eg2",
    "//ios/testing/earl_grey:eg_test_support+eg2",
    "//net:test_support",
    "//ui/base",
  ]

  frameworks = [ "UIKit.framework" ]
}