# 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("settings") {
  configs += [ "//build/config/compiler:enable_arc" ]
  sources = [
    "about_chrome_collection_view_controller.h",
    "about_chrome_collection_view_controller.mm",
    "accounts_collection_view_controller.h",
    "accounts_collection_view_controller.mm",
    "autofill_collection_view_controller.h",
    "autofill_collection_view_controller.mm",
    "autofill_credit_card_edit_collection_view_controller.h",
    "autofill_credit_card_edit_collection_view_controller.mm",
    "autofill_edit_collection_view_controller+protected.h",
    "autofill_edit_collection_view_controller.h",
    "autofill_edit_collection_view_controller.mm",
    "autofill_profile_edit_collection_view_controller.h",
    "autofill_profile_edit_collection_view_controller.mm",
    "bandwidth_management_collection_view_controller.h",
    "bandwidth_management_collection_view_controller.mm",
    "bar_button_activity_indicator.h",
    "bar_button_activity_indicator.mm",
    "block_popups_collection_view_controller.h",
    "block_popups_collection_view_controller.mm",
    "clear_browsing_data_collection_view_controller.h",
    "clear_browsing_data_collection_view_controller.mm",
    "clear_browsing_data_consumer.h",
    "clear_browsing_data_local_commands.h",
    "clear_browsing_data_manager.h",
    "clear_browsing_data_manager.mm",
    "clear_browsing_data_table_view_controller.h",
    "clear_browsing_data_table_view_controller.mm",
    "clear_browsing_data_ui_constants.h",
    "clear_browsing_data_ui_constants.mm",
    "compose_email_handler_collection_view_controller.h",
    "compose_email_handler_collection_view_controller.mm",
    "content_settings_collection_view_controller.h",
    "content_settings_collection_view_controller.mm",
    "dataplan_usage_collection_view_controller.h",
    "dataplan_usage_collection_view_controller.mm",
    "do_not_track_collection_view_controller.h",
    "do_not_track_collection_view_controller.mm",
    "google_services_settings_consumer.h",
    "google_services_settings_coordinator.h",
    "google_services_settings_coordinator.mm",
    "google_services_settings_mediator.h",
    "google_services_settings_mediator.mm",
    "google_services_settings_view_controller.h",
    "google_services_settings_view_controller.mm",
    "google_services_settings_view_controller_model_delegate.h",
    "handoff_collection_view_controller.h",
    "handoff_collection_view_controller.mm",
    "import_data_collection_view_controller.h",
    "import_data_collection_view_controller.mm",
    "material_cell_catalog_view_controller.h",
    "material_cell_catalog_view_controller.mm",
    "password_details_collection_view_controller.h",
    "password_details_collection_view_controller.mm",
    "password_details_collection_view_controller_delegate.h",
    "password_exporter.h",
    "password_exporter.mm",
    "privacy_collection_view_controller.h",
    "privacy_collection_view_controller.mm",
    "reauthentication_module.h",
    "reauthentication_module.mm",
    "reauthentication_protocol.h",
    "save_passwords_collection_view_controller.h",
    "save_passwords_collection_view_controller.mm",
    "search_engine_settings_collection_view_controller.h",
    "search_engine_settings_collection_view_controller.mm",
    "settings_collection_view_controller.h",
    "settings_collection_view_controller.mm",
    "settings_navigation_controller.h",
    "settings_navigation_controller.mm",
    "settings_root_collection_view_controller.h",
    "settings_root_collection_view_controller.mm",
    "settings_root_table_view_controller.h",
    "settings_root_table_view_controller.mm",
    "settings_utils.h",
    "settings_utils.mm",
    "sync_create_passphrase_collection_view_controller.h",
    "sync_create_passphrase_collection_view_controller.mm",
    "sync_encryption_collection_view_controller.h",
    "sync_encryption_collection_view_controller.mm",
    "sync_encryption_passphrase_collection_view_controller.h",
    "sync_encryption_passphrase_collection_view_controller.mm",
    "sync_settings_collection_view_controller.h",
    "sync_settings_collection_view_controller.mm",
    "table_cell_catalog_view_controller.h",
    "table_cell_catalog_view_controller.mm",
    "time_range_selector_collection_view_controller.h",
    "time_range_selector_collection_view_controller.mm",
    "translate_collection_view_controller.h",
    "translate_collection_view_controller.mm",
    "voicesearch_collection_view_controller.h",
    "voicesearch_collection_view_controller.mm",
  ]
  deps = [
    "resources:app_icon_placeholder",
    "resources:encryption_error",
    "resources:settings_about_chrome",
    "resources:settings_accounts_add_account",
    "resources:settings_article_suggestions",
    "resources:settings_autofill_forms",
    "resources:settings_bandwidth",
    "resources:settings_content_settings",
    "resources:settings_debug",
    "resources:settings_error",
    "resources:settings_passwords",
    "resources:settings_privacy",
    "resources:settings_search_engine",
    "resources:settings_sync",
    "resources:settings_voice_search",
    "//base",
    "//base:i18n",
    "//components/autofill/core/browser",
    "//components/autofill/core/common",
    "//components/autofill/ios/browser",
    "//components/browser_sync",
    "//components/browsing_data/core",
    "//components/content_settings/core/browser",
    "//components/content_settings/core/common",
    "//components/feature_engagement",
    "//components/google/core/browser",
    "//components/handoff",
    "//components/history/core/browser",
    "//components/image_fetcher/ios",
    "//components/keyed_service/core",
    "//components/metrics",
    "//components/password_manager/core/browser",
    "//components/password_manager/core/common",
    "//components/payments/core",
    "//components/prefs/ios",
    "//components/resources",
    "//components/search_engines",
    "//components/signin/core/browser",
    "//components/signin/ios/browser",
    "//components/strings",
    "//components/sync",
    "//components/translate/core/browser",
    "//components/translate/core/common",
    "//components/url_formatter",
    "//components/version_info",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser",
    "//ios/chrome/browser/autofill",
    "//ios/chrome/browser/autofill:autofill_internal",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/browser_state:browser_state_impl",
    "//ios/chrome/browser/browsing_data",
    "//ios/chrome/browser/content_settings",
    "//ios/chrome/browser/feature_engagement",
    "//ios/chrome/browser/history",
    "//ios/chrome/browser/mailto:feature_flags",
    "//ios/chrome/browser/passwords",
    "//ios/chrome/browser/search_engines",
    "//ios/chrome/browser/signin",
    "//ios/chrome/browser/sync",
    "//ios/chrome/browser/translate",
    "//ios/chrome/browser/ui",
    "//ios/chrome/browser/ui/alert_coordinator",
    "//ios/chrome/browser/ui/authentication",
    "//ios/chrome/browser/ui/authentication:authentication_ui",
    "//ios/chrome/browser/ui/autofill",
    "//ios/chrome/browser/ui/autofill:autofill_ui",
    "//ios/chrome/browser/ui/autofill/cells",
    "//ios/chrome/browser/ui/collection_view",
    "//ios/chrome/browser/ui/colors",
    "//ios/chrome/browser/ui/commands",
    "//ios/chrome/browser/ui/content_suggestions/cells",
    "//ios/chrome/browser/ui/content_suggestions/cells:cells_ui",
    "//ios/chrome/browser/ui/coordinators:chrome_coordinators",
    "//ios/chrome/browser/ui/icons",
    "//ios/chrome/browser/ui/keyboard",
    "//ios/chrome/browser/ui/list_model",
    "//ios/chrome/browser/ui/material_components",
    "//ios/chrome/browser/ui/payments/cells",
    "//ios/chrome/browser/ui/settings/cells",
    "//ios/chrome/browser/ui/settings/sync_utils",
    "//ios/chrome/browser/ui/settings/utils",
    "//ios/chrome/browser/ui/signin_interaction",
    "//ios/chrome/browser/ui/signin_interaction/public",
    "//ios/chrome/browser/ui/table_view",
    "//ios/chrome/browser/ui/table_view:styler",
    "//ios/chrome/browser/ui/table_view/cells",
    "//ios/chrome/browser/ui/table_view/cells/resources:table_view_cell_check_mark",
    "//ios/chrome/browser/unified_consent",
    "//ios/chrome/browser/voice",
    "//ios/chrome/browser/web:web",
    "//ios/chrome/common",
    "//ios/public/provider/chrome/browser",
    "//ios/public/provider/chrome/browser/images",
    "//ios/public/provider/chrome/browser/mailto",
    "//ios/public/provider/chrome/browser/signin",
    "//ios/public/provider/chrome/browser/user_feedback",
    "//ios/public/provider/chrome/browser/voice",
    "//ios/third_party/material_components_ios",
    "//ios/third_party/material_roboto_font_loader_ios",
    "//ios/web",
    "//net",
    "//ui/base",
    "//url",
  ]
  public_deps = [
    "//ios/chrome/browser/ui/collection_view/cells",
  ]
  allow_circular_includes_from = [ "//ios/chrome/browser/ui/authentication" ]
  libs = [
    "CoreLocation.framework",
    "LocalAuthentication.framework",
    "UIKit.framework",
  ]
}

source_set("test_support") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "passphrase_collection_view_controller_test.h",
    "passphrase_collection_view_controller_test.mm",
    "password_details_collection_view_controller_for_testing.h",
    "password_exporter_for_testing.h",
    "personal_data_manager_data_changed_observer.cc",
    "personal_data_manager_data_changed_observer.h",
    "reauthentication_module_for_testing.h",
  ]
  deps = [
    ":settings",
    "//base",
    "//components/autofill/core/browser",
    "//components/browser_sync",
    "//components/browser_sync:test_support",
    "//components/keyed_service/core",
    "//components/pref_registry",
    "//components/sync",
    "//components/sync_preferences",
    "//components/sync_preferences:test_support",
    "//google_apis",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/browser_state:test_support",
    "//ios/chrome/browser/prefs:browser_prefs",
    "//ios/chrome/browser/signin",
    "//ios/chrome/browser/signin:test_support",
    "//ios/chrome/browser/store_kit",
    "//ios/chrome/browser/sync",
    "//ios/chrome/browser/sync:test_support",
    "//ios/chrome/browser/ui/collection_view:test_support",
    "//ios/public/provider/chrome/browser/signin:test_support",
    "//ios/web/public/test",
    "//testing/gtest",
  ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "about_chrome_collection_view_controller_unittest.mm",
    "autofill_collection_view_controller_unittest.mm",
    "autofill_profile_edit_collection_view_controller_unittest.mm",
    "bandwidth_management_collection_view_controller_unittest.mm",
    "block_popups_collection_view_controller_unittest.mm",
    "clear_browsing_data_collection_view_controller_unittest.mm",
    "clear_browsing_data_manager_unittest.mm",
    "compose_email_handler_collection_view_controller_unittest.mm",
    "content_settings_collection_view_controller_unittest.mm",
    "dataplan_usage_collection_view_controller_unittest.mm",
    "do_not_track_collection_view_controller_unittest.mm",
    "import_data_collection_view_controller_unittest.mm",
    "password_details_collection_view_controller_unittest.mm",
    "password_exporter_unittest.mm",
    "privacy_collection_view_controller_unittest.mm",
    "reauthentication_module_unittest.mm",
    "save_passwords_collection_view_controller_unittest.mm",
    "search_engine_settings_collection_view_controller_unittest.mm",
    "settings_navigation_controller_unittest.mm",
    "settings_root_collection_view_controller_unittest.mm",
    "sync_create_passphrase_collection_view_controller_unittest.mm",
    "sync_encryption_collection_view_controller_unittest.mm",
    "sync_encryption_passphrase_collection_view_controller_unittest.mm",
    "sync_settings_collection_view_controller_unittest.mm",
    "time_range_selector_collection_view_controller_unittest.mm",
    "translate_collection_view_controller_unittest.mm",
    "voicesearch_collection_view_controller_unittest.mm",
  ]
  deps = [
    ":settings",
    ":test_support",
    "//base",
    "//base/test:test_support",
    "//components/autofill/core/browser",
    "//components/autofill/core/common",
    "//components/browser_sync:test_support",
    "//components/browsing_data/core",
    "//components/content_settings/core/browser",
    "//components/google/core/browser",
    "//components/handoff",
    "//components/password_manager/core/browser:test_support",
    "//components/password_manager/core/common",
    "//components/payments/core",
    "//components/pref_registry",
    "//components/prefs:test_support",
    "//components/search_engines",
    "//components/signin/core/browser:test_support",
    "//components/strings",
    "//components/sync_preferences",
    "//components/sync_preferences:test_support",
    "//components/translate/core/browser",
    "//components/translate/core/common",
    "//ios/chrome/app/strings",
    "//ios/chrome/browser",
    "//ios/chrome/browser/autofill",
    "//ios/chrome/browser/autofill:autofill_internal",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/browser_state:test_support",
    "//ios/chrome/browser/browsing_data",
    "//ios/chrome/browser/browsing_data:counters",
    "//ios/chrome/browser/content_settings",
    "//ios/chrome/browser/mailto:feature_flags",
    "//ios/chrome/browser/passwords",
    "//ios/chrome/browser/prefs:browser_prefs",
    "//ios/chrome/browser/search_engines",
    "//ios/chrome/browser/signin",
    "//ios/chrome/browser/signin:test_support",
    "//ios/chrome/browser/sync",
    "//ios/chrome/browser/sync:test_support",
    "//ios/chrome/browser/translate",
    "//ios/chrome/browser/ui/collection_view",
    "//ios/chrome/browser/ui/collection_view:test_support",
    "//ios/chrome/browser/ui/collection_view/cells",
    "//ios/chrome/browser/ui/icons",
    "//ios/chrome/browser/ui/settings/cells",
    "//ios/chrome/browser/ui/settings/sync_utils",
    "//ios/chrome/browser/voice",
    "//ios/chrome/browser/web",
    "//ios/chrome/browser/web:test_support",
    "//ios/chrome/common",
    "//ios/chrome/test:test_support",
    "//ios/chrome/test/app:test_support",
    "//ios/public/provider/chrome/browser",
    "//ios/public/provider/chrome/browser/voice",
    "//ios/third_party/material_components_ios",
    "//ios/web",
    "//ios/web/public/test",
    "//net",
    "//net:test_support",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/ocmock",
    "//ui/base",
    "//url",
  ]
}

source_set("eg_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "accounts_collection_egtest.mm",
    "autofill_settings_egtest.mm",
    "block_popups_egtest.mm",
    "clear_browsing_data_egtest.mm",
    "passwords_settings_egtest.mm",
    "settings_egtest.mm",
    "signin_settings_egtest.mm",
    "translate_ui_egtest.mm",
  ]

  deps = [
    ":settings",
    "//base",
    "//base/test:test_support",
    "//components/autofill/core/common",
    "//components/browser_sync",
    "//components/browsing_data/core",
    "//components/content_settings/core/browser",
    "//components/keyed_service/core",
    "//components/metrics",
    "//components/password_manager/core/browser",
    "//components/password_manager/core/common",
    "//components/prefs",
    "//components/search_engines",
    "//components/signin/core/browser",
    "//components/strings",
    "//ios/chrome/app:app_internal",
    "//ios/chrome/app/strings",
    "//ios/chrome/app/theme",
    "//ios/chrome/browser",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/browsing_data:feature_flags",
    "//ios/chrome/browser/content_settings",
    "//ios/chrome/browser/ntp_snippets",
    "//ios/chrome/browser/passwords:passwords",
    "//ios/chrome/browser/search_engines",
    "//ios/chrome/browser/signin",
    "//ios/chrome/browser/sync",
    "//ios/chrome/browser/ui:ui_internal",
    "//ios/chrome/browser/ui:ui_util",
    "//ios/chrome/browser/ui/authentication:authentication_ui",
    "//ios/chrome/browser/ui/authentication:eg_test_support",
    "//ios/chrome/browser/ui/settings:test_support",
    "//ios/chrome/browser/ui/tools_menu/public",
    "//ios/chrome/browser/ui/util:util",
    "//ios/chrome/test:test_support",
    "//ios/chrome/test/app:test_support",
    "//ios/chrome/test/earl_grey:test_support",
    "//ios/public/provider/chrome/browser/signin:test_support",
    "//ios/testing/earl_grey:earl_grey_support",
    "//ios/third_party/earl_grey:earl_grey+link",
    "//ios/web",
    "//ios/web:earl_grey_test_support",
    "//ios/web/public/test",
    "//ios/web/public/test/http_server",
    "//net",
    "//ui/base",
    "//url",
  ]
  libs = [
    "UIKit.framework",
    "XCTest.framework",
  ]
}

source_set("unified_consent_eg_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "google_services_settings_egtest.mm",
  ]

  deps = [
    ":settings",
    "//base",
    "//base/test:test_support",
    "//components/signin/core/browser",
    "//ios/chrome/app/strings:ios_chromium_strings_grit",
    "//ios/chrome/app/strings:ios_strings_grit",
    "//ios/chrome/browser/ui:ui_util",
    "//ios/chrome/browser/ui/authentication:eg_test_support",
    "//ios/chrome/test/earl_grey:test_support",
    "//ui/base",
  ]
  libs = [
    "UIKit.framework",
    "XCTest.framework",
  ]
}
