| # 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("//components/enterprise/buildflags/buildflags.gni") |
| import("//ios/build/chrome_build.gni") |
| |
| source_set("flags") { |
| sources = [ |
| "about_flags.h", |
| "about_flags.mm", |
| "ios_chrome_flag_descriptions.cc", |
| "ios_chrome_flag_descriptions.h", |
| ] |
| |
| deps = [ |
| ":system_flags", |
| "//base", |
| "//components/autofill/core/browser", |
| "//components/autofill/core/common", |
| "//components/autofill/ios/browser", |
| "//components/autofill/ios/common", |
| "//components/bookmarks/common", |
| "//components/browser_sync:switches", |
| "//components/collaboration/public:features", |
| "//components/commerce/core:feature_list", |
| "//components/data_sharing/public", |
| "//components/dom_distiller/core", |
| "//components/download/public/background_service:public", |
| "//components/enterprise", |
| "//components/enterprise/buildflags", |
| "//components/enterprise/connectors/core", |
| "//components/feature_engagement/public", |
| "//components/feed:feature_list", |
| "//components/fingerprinting_protection_filter/common:features", |
| "//components/history/core/browser", |
| "//components/ntp_tiles", |
| "//components/omnibox/browser", |
| "//components/omnibox/common", |
| "//components/optimization_guide/core", |
| "//components/optimization_guide/core:features", |
| "//components/page_content_annotations/core:features", |
| "//components/page_image_service", |
| "//components/password_manager/core/browser/features:password_features", |
| "//components/password_manager/core/common:features", |
| "//components/payments/core", |
| "//components/policy:generated", |
| "//components/policy/core/common:common_constants", |
| "//components/regional_capabilities", |
| "//components/safe_browsing/core/common", |
| "//components/safe_browsing/ios/browser/web_ui:features", |
| "//components/search", |
| "//components/search_engines:search_engines_switches", |
| "//components/search_provider_logos", |
| "//components/security_state/core", |
| "//components/segmentation_platform/embedder/home_modules:constants", |
| "//components/segmentation_platform/public", |
| "//components/send_tab_to_self", |
| "//components/shared_highlighting/core/common", |
| "//components/sharing_message", |
| "//components/signin/core/browser", |
| "//components/signin/ios/browser", |
| "//components/strings:components_strings", |
| "//components/supervised_user/core/common:features", |
| "//components/sync/service", |
| "//components/translate/core/browser", |
| "//components/translate/core/common", |
| "//components/unified_consent", |
| "//components/variations", |
| "//components/variations/net", |
| "//components/variations/service", |
| "//components/webui/flags", |
| "//components/webui/flags:switches", |
| "//ios/chrome/app:background_mode_buildflags", |
| "//ios/chrome/app/strings", |
| "//ios/chrome/browser/aim/prototype/public:features", |
| "//ios/chrome/browser/app_store_rating/ui_bundled:features", |
| "//ios/chrome/browser/browsing_data/model:feature_flags", |
| "//ios/chrome/browser/crash_report/model", |
| "//ios/chrome/browser/credential_provider/model:features", |
| "//ios/chrome/browser/default_browser/model:utils", |
| "//ios/chrome/browser/download/ui:features", |
| "//ios/chrome/browser/drag_and_drop/model", |
| "//ios/chrome/browser/find_in_page/model:util", |
| "//ios/chrome/browser/first_run/ui_bundled:features", |
| "//ios/chrome/browser/first_run/ui_bundled:field_trial", |
| "//ios/chrome/browser/incognito_reauth/ui_bundled:features", |
| "//ios/chrome/browser/intelligence/features", |
| "//ios/chrome/browser/lens/ui_bundled:features", |
| "//ios/chrome/browser/ntp/model:features", |
| "//ios/chrome/browser/ntp/ui_bundled:feature_flags", |
| "//ios/chrome/browser/omnibox/public:features", |
| "//ios/chrome/browser/page_info/ui_bundled:features", |
| "//ios/chrome/browser/passwords/model:features", |
| "//ios/chrome/browser/policy/model", |
| "//ios/chrome/browser/policy/model:constants", |
| "//ios/chrome/browser/policy/model:policy_util", |
| "//ios/chrome/browser/popup_menu/ui_bundled/overflow_menu:feature_flags", |
| "//ios/chrome/browser/price_insights/model:feature", |
| "//ios/chrome/browser/promos_manager/model:features", |
| "//ios/chrome/browser/reader_mode/model:features", |
| "//ios/chrome/browser/screen_time/model:buildflags", |
| "//ios/chrome/browser/settings/ui_bundled/clear_browsing_data:features", |
| "//ios/chrome/browser/settings/ui_bundled/google_services:features", |
| "//ios/chrome/browser/settings/ui_bundled/password:features", |
| "//ios/chrome/browser/settings/ui_bundled/privacy/privacy_guide:features", |
| "//ios/chrome/browser/shared/public/features", |
| "//ios/chrome/browser/shared/public/features:system_flags", |
| "//ios/chrome/browser/start_surface/ui_bundled:feature_flags", |
| "//ios/chrome/browser/tabs/model/inactive_tabs:features", |
| "//ios/chrome/browser/text_selection/model:model_utils", |
| "//ios/chrome/browser/web/model:feature_flags", |
| "//ios/chrome/browser/whats_new/coordinator:util", |
| "//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 (enterprise_data_controls) { |
| deps += [ "//ios/chrome/browser/enterprise/data_controls:features" ] |
| } |
| |
| if (ios_enable_screen_time) { |
| deps += [ "//ios/chrome/browser/screen_time/model:feature_flags" ] |
| } |
| } |
| |
| source_set("system_flags") { |
| sources = [ |
| "chrome_switches.cc", |
| "chrome_switches.h", |
| ] |
| } |
| |
| source_set("client_side") { |
| 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/first_run/ui_bundled:field_trial", |
| "//ios/chrome/browser/shared/model/application_context", |
| "//ios/chrome/browser/shared/model/paths", |
| "//ios/chrome/browser/shared/model/utils", |
| "//ios/chrome/browser/variations/model:store", |
| "//ios/chrome/common", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ "about_flags_unittest.mm" ] |
| deps = [ |
| ":flags", |
| ":test_data", |
| "//base", |
| "//components/webui/flags", |
| "//components/webui/flags: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}}" ] |
| } |