| # Copyright 2015 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/buildflag_header.gni") |
| import("//build/config/chrome_build.gni") |
| |
| declare_args() { |
| # Set to true make a build that disables activation of field trial tests |
| # specified in testing/variations/fieldtrial_testing_config.json. |
| # Note: For Chrome-branded Android builds, this is always considered as set to |
| # true (see below). This is done to avoid the binary size impact (~40 KiB) on |
| # Android. |
| disable_fieldtrial_testing_config = false |
| |
| # Set to true to make a build that force enables activation of field trial |
| # tests specified in testing/variations/fieldtrial_testing_config.json. |
| force_enable_fieldtrial_testing_config = false |
| } |
| |
| assert(!(disable_fieldtrial_testing_config && |
| force_enable_fieldtrial_testing_config), |
| "Cannot enable and disable field trial testing at the same time.") |
| |
| fieldtrial_testing_enabled = |
| force_enable_fieldtrial_testing_config || |
| (!disable_fieldtrial_testing_config && !(is_android && is_chrome_branded)) |
| |
| buildflag_header("buildflags") { |
| header = "buildflags.h" |
| flags = [ "FIELDTRIAL_TESTING_ENABLED=$fieldtrial_testing_enabled" ] |
| } |
| |
| static_library("service") { |
| sources = [ |
| "google_groups_manager.cc", |
| "google_groups_manager.h", |
| "google_groups_manager_prefs.h", |
| "limited_entropy_randomization.cc", |
| "limited_entropy_randomization.h", |
| "safe_seed_manager.cc", |
| "safe_seed_manager.h", |
| "ui_string_overrider.cc", |
| "ui_string_overrider.h", |
| "variations_field_trial_creator.cc", |
| "variations_field_trial_creator.h", |
| "variations_service.cc", |
| "variations_service.h", |
| "variations_service_client.cc", |
| "variations_service_client.h", |
| "variations_service_utils.cc", |
| "variations_service_utils.h", |
| ] |
| |
| public_deps = [ "//base" ] |
| deps = [ |
| ":buildflags", |
| "//build:branding_buildflags", |
| "//build/config/chromebox_for_meetings:buildflags", |
| "//components/country_codes", |
| "//components/encrypted_messages", |
| "//components/keyed_service/core", |
| "//components/language/core/browser", |
| "//components/metrics", |
| "//components/network_time", |
| "//components/pref_registry", |
| "//components/prefs", |
| "//components/sync/service", |
| "//components/variations", |
| "//components/variations/field_trial_config", |
| "//components/variations/proto", |
| "//components/version_info", |
| "//components/web_resource", |
| "//net", |
| "//services/network/public/cpp", |
| "//ui/base", |
| ] |
| } |
| |
| source_set("unit_tests") { |
| testonly = true |
| sources = [ |
| "google_groups_manager_unittest.cc", |
| "limited_entropy_randomization_unittest.cc", |
| "safe_seed_manager_unittest.cc", |
| "ui_string_overrider_unittest.cc", |
| "variations_field_trial_creator_unittest.cc", |
| "variations_service_unittest.cc", |
| "variations_service_utils_unittest.cc", |
| ] |
| |
| deps = [ |
| ":buildflags", |
| ":service", |
| "//base", |
| "//base/test:test_support", |
| "//build:branding_buildflags", |
| "//components/metrics", |
| "//components/metrics:test_support", |
| "//components/prefs:test_support", |
| "//components/sync:test_support", |
| "//components/sync_preferences:test_support", |
| "//components/variations", |
| "//components/variations:test_support", |
| "//components/variations/field_trial_config", |
| "//components/variations/proto", |
| "//components/version_info", |
| "//components/web_resource:test_support", |
| "//net", |
| "//net:test_support", |
| "//services/network:test_support", |
| "//services/network/public/cpp", |
| "//testing/gtest", |
| ] |
| } |