1*6777b538SAndroid Build Coastguard Worker // Copyright 2020 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #include "base/test/with_feature_override.h" 6*6777b538SAndroid Build Coastguard Worker #include "base/task/thread_pool/thread_pool_instance.h" 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker namespace base { 9*6777b538SAndroid Build Coastguard Worker namespace test { 10*6777b538SAndroid Build Coastguard Worker WithFeatureOverride(const base::Feature & feature)11*6777b538SAndroid Build Coastguard WorkerWithFeatureOverride::WithFeatureOverride(const base::Feature& feature) { 12*6777b538SAndroid Build Coastguard Worker // Most other classes that tests inherit from start task environments. Verify 13*6777b538SAndroid Build Coastguard Worker // that has not happened yet. 14*6777b538SAndroid Build Coastguard Worker DCHECK(base::ThreadPoolInstance::Get() == nullptr) 15*6777b538SAndroid Build Coastguard Worker << "WithFeatureOverride should be the first class a test inherits from " 16*6777b538SAndroid Build Coastguard Worker "so it sets the features before any other setup is done."; 17*6777b538SAndroid Build Coastguard Worker 18*6777b538SAndroid Build Coastguard Worker if (GetParam()) { 19*6777b538SAndroid Build Coastguard Worker scoped_feature_list_.InitAndEnableFeature(feature); 20*6777b538SAndroid Build Coastguard Worker } else { 21*6777b538SAndroid Build Coastguard Worker scoped_feature_list_.InitAndDisableFeature(feature); 22*6777b538SAndroid Build Coastguard Worker } 23*6777b538SAndroid Build Coastguard Worker } 24*6777b538SAndroid Build Coastguard Worker IsParamFeatureEnabled()25*6777b538SAndroid Build Coastguard Workerbool WithFeatureOverride::IsParamFeatureEnabled() { 26*6777b538SAndroid Build Coastguard Worker return GetParam(); 27*6777b538SAndroid Build Coastguard Worker } 28*6777b538SAndroid Build Coastguard Worker 29*6777b538SAndroid Build Coastguard Worker WithFeatureOverride::~WithFeatureOverride() = default; 30*6777b538SAndroid Build Coastguard Worker 31*6777b538SAndroid Build Coastguard Worker } // namespace test 32*6777b538SAndroid Build Coastguard Worker } // namespace base 33