# 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", "variations_field_trial_creator.cc", "variations_field_trial_creator.h", "variations_network_clock.cc", "variations_network_clock.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", "//base:build_time", "//build:branding_buildflags", "//build/config/chromebox_for_meetings:buildflags", "//components/country_codes", "//components/encrypted_messages", "//components/enterprise/browser/groups:prefs", "//components/keyed_service/core", "//components/language/core/browser", "//components/metrics", "//components/network_time", "//components/network_time/time_tracker", "//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", "variations_field_trial_creator_unittest.cc", "variations_network_clock_unittest.cc", "variations_service_unittest.cc", "variations_service_utils_unittest.cc", ] deps = [ ":buildflags", ":service", "//base", "//base:build_time", "//base/test:test_support", "//build:branding_buildflags", "//components/enterprise/browser/groups:prefs", "//components/metrics", "//components/metrics:test_support", "//components/network_time", "//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", ] }