// Copyright 2020 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef EXTENSIONS_COMMON_FEATURES_FEATURE_FLAGS_H_ #define EXTENSIONS_COMMON_FEATURES_FEATURE_FLAGS_H_ #include #include #include "base/auto_reset.h" namespace base { struct Feature; } // namespace base namespace extensions { // Returns true if the |feature_flag| with the given name is enabled. This // CHECKs to validate that |feature_flag| corresponds to a base::Feature of the // same name. bool IsFeatureFlagEnabled(const std::string& feature_flag); // Used to override the set of base::Feature flags while the returned value is // in scope. Clients must ensure that |features| remains alive (non-dangling) // while the returned value is in scope. using ScopedFeatureFlagsOverride = base::AutoReset*>; ScopedFeatureFlagsOverride CreateScopedFeatureFlagsOverrideForTesting( const std::vector* features); } // namespace extensions #endif // EXTENSIONS_COMMON_FEATURES_FEATURE_FLAGS_H_