# Copyright 2019 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("flags") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "about_flags.h", "about_flags.mm", "ios_chrome_flag_descriptions.cc", "ios_chrome_flag_descriptions.h", ] deps = [ ":system_flags", "//base", "//components/autofill/core/common", "//components/autofill/ios/browser", "//components/breadcrumbs/core:feature_flags", "//components/commerce/core:feature_list", "//components/dom_distiller/core", "//components/enterprise", "//components/feature_engagement/public", "//components/feed:feature_list", "//components/flags_ui", "//components/flags_ui:switches", "//components/invalidation/impl:feature_list", "//components/ntp_tiles", "//components/omnibox/browser", "//components/omnibox/common", "//components/optimization_guide/core", "//components/optimization_guide/core:features", "//components/password_manager/core/common:features", "//components/payments/core", "//components/policy:generated", "//components/policy/core/common:common_constants", "//components/safe_browsing/core/common", "//components/search_provider_logos", "//components/security_state/core", "//components/send_tab_to_self", "//components/shared_highlighting/core/common", "//components/signin/core/browser", "//components/signin/ios/browser", "//components/strings:components_strings", "//components/sync/driver", "//components/translate/core/browser", "//components/translate/core/common", "//components/unified_consent", "//components/variations", "//ios/chrome/app:background_mode_buildflags", "//ios/chrome/app/strings", "//ios/chrome/browser", "//ios/chrome/browser/browsing_data:feature_flags", "//ios/chrome/browser/crash_report", "//ios/chrome/browser/drag_and_drop", "//ios/chrome/browser/ntp:features", "//ios/chrome/browser/policy", "//ios/chrome/browser/policy:constants", "//ios/chrome/browser/policy:policy_util", "//ios/chrome/browser/promos_manager:features", "//ios/chrome/browser/screen_time:buildflags", "//ios/chrome/browser/sessions:features", "//ios/chrome/browser/text_selection", "//ios/chrome/browser/ui:feature_flags", "//ios/chrome/browser/ui/app_store_rating:features", "//ios/chrome/browser/ui/autofill:features", "//ios/chrome/browser/ui/bubble:features", "//ios/chrome/browser/ui/content_suggestions:feature_flags", "//ios/chrome/browser/ui/default_promo:utils", "//ios/chrome/browser/ui/download:features", "//ios/chrome/browser/ui/first_run:field_trial", "//ios/chrome/browser/ui/first_run:field_trial_constants", "//ios/chrome/browser/ui/fullscreen:feature_flags", "//ios/chrome/browser/ui/keyboard:features", "//ios/chrome/browser/ui/ntp:feature_flags", "//ios/chrome/browser/ui/omnibox:features", "//ios/chrome/browser/ui/open_in:features", "//ios/chrome/browser/ui/popup_menu/overflow_menu:feature_flags", "//ios/chrome/browser/ui/post_restore_signin:features", "//ios/chrome/browser/ui/start_surface:feature_flags", "//ios/chrome/browser/ui/toolbar_container:feature_flags", "//ios/chrome/browser/ui/whats_new:feature_flags", "//ios/chrome/browser/web:feature_flags", "//ios/components/security_interstitials/https_only_mode:feature", "//ios/public/provider/chrome/browser/app_utils:app_utils_api", "//ios/web/common", "//ios/web/common:user_agent", "//ios/web/common:web_view_creation_util", "//ios/web/public", ] if (ios_enable_screen_time) { deps += [ "//ios/chrome/browser/screen_time:feature_flags" ] } } source_set("system_flags") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "chrome_switches.cc", "chrome_switches.h", "system_flags.h", "system_flags.mm", ] deps = [ "//base", "//build:branding_buildflags", "//components/autofill/core/common", "//components/password_manager/core/common:features", "//components/variations", "//ios/chrome/browser/browsing_data:feature_flags", "//ios/chrome/browser/ui:feature_flags", ] } source_set("client_side") { configs += [ "//build/config/compiler:enable_arc" ] sources = [ "ios_chrome_field_trials.h", "ios_chrome_field_trials.mm", ] deps = [ "//base", "//components/metrics", "//components/variations", "//ios/chrome/app:tests_hook", "//ios/chrome/browser/application_context", "//ios/chrome/browser/paths", "//ios/chrome/browser/ui/first_run:field_trial", ] } source_set("unit_tests") { testonly = true configs += [ "//build/config/compiler:enable_arc" ] sources = [ "about_flags_unittest.mm" ] deps = [ ":flags", ":test_data", "//base", "//components/flags_ui", "//components/flags_ui:test_support", "//testing/gtest", ] } bundle_data("test_data") { sources = [ "//chrome/browser/flag-metadata.json", "//chrome/browser/flag-never-expire-list.json", ] outputs = [ "{{bundle_resources_dir}}/{{source_root_relative_dir}}/{{source_file_part}}" ] }