// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "device/fido/features.h" #include "base/feature_list.h" #include "build/build_config.h" #include "build/chromeos_buildflags.h" namespace device { // Flags defined in this file should have a comment above them that either // marks them as permanent flags, or specifies what lifecycle stage they're at. // // Permanent flags are those that we'll keep around indefinitely because // they're useful for testing, debugging, etc. These should be commented with // // Permanent flag // // Standard flags progress through a lifecycle and are eliminated at the end of // it. The comments above them should be one of the following: // // Not yet enabled by default. // // Enabled in M123. Remove in or after M126. // // Every release or so we should cleanup and delete flags which have been // default-enabled for long enough, based on the removal milestone in their // comment. #if BUILDFLAG(IS_WIN) // Permanent flag BASE_FEATURE(kWebAuthUseNativeWinApi, "WebAuthenticationUseNativeWinApi", base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) // Permanent flag BASE_FEATURE(…); BASE_FEATURE(…); #if BUILDFLAG(IS_ANDROID) // Enabled in M129. Remove in or after M132. BASE_FEATURE(kWebAuthnAndroidCredMan, "WebAuthenticationAndroidCredMan", base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) // Enabled in M118. Remove in or after M121. BASE_FEATURE(…); // Enabled in M118. Remove in or after M121. BASE_FEATURE(…); // Not yet enabled by default. BASE_FEATURE(…); // Enabled in M118. Remove in or after M121. BASE_FEATURE(…); // Not yet enabled by default. BASE_FEATURE(…); // Enabled in M130. Don't remove before kWebAuthnGpmPin is enabled! BASE_FEATURE(…); #endif // BUILDFLAG(IS_WIN) // Not yet enabled by default. const base::FeatureParam<bool> kWebAuthnGpmPin{ … }; // Enabled by default in M128. Remove in or after M131. BASE_FEATURE(…); #if BUILDFLAG(IS_CHROMEOS) // Not yet enabled by default. BASE_FEATURE(kChromeOsPasskeys, "WebAuthenticationCrosPasskeys", base::FEATURE_DISABLED_BY_DEFAULT); #endif // Enabled in M128. Remove in or after M131. BASE_FEATURE(…); // Enabled in M122. Remove in or after M125. BASE_FEATURE(…); // Default enabled in M123. Remove in or after M126. BASE_FEATURE(…); // Deprecation flag. // Default disabled in M125. Remove in or after M128. BASE_FEATURE(…); // Development flag. Must not be enabled by default once // kWebAuthnEnclaveAuthenticator is enabled. BASE_FEATURE(…); // Default enabled in M126. Remove in or after M129. BASE_FEATURE(…); // Default enabled in M130. Remove in or after M133. BASE_FEATURE(…); // Default enabled in M130. Remove in or after M133. BASE_FEATURE(…); // Not yet default enabled and not intended to be. Remove after M128 is Stable. BASE_FEATURE(…); // Disabled in M128. Remove in or after M130. // (This is a turn-down feature, i.e. the final state is that it should be // disabled.) // crbug.com/348204152 BASE_FEATURE(…); // Development flag. Must not be enabled by default. BASE_FEATURE(…); // Not yet enabled by default. BASE_FEATURE(…); } // namespace device