Commit 176e9f6a authored by Elly Fong-Jones's avatar Elly Fong-Jones Committed by Commit Bot

flags: expire M78 & earlier flags

This change will be merged to the M79 branch in keeping with the flag
deprecation rollout strategy:

* M78 expires flags set for 76 & earlier
* M79 expires flags set for 78 & earlier
* M80 expires flags set for 80 & earlier
* MXX expires flags set for XX & earlier onward

Bug: 1019714
Change-Id: Ic789610160f1de11715ed41d6ff153a71487a08d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1890814Reviewed-by: default avatarNico Weber <thakis@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#711417}
parent 34d6cc09
...@@ -4415,6 +4415,9 @@ const FeatureEntry kFeatureEntries[] = { ...@@ -4415,6 +4415,9 @@ const FeatureEntry kFeatureEntries[] = {
{"temporary-unexpire-flags-m76", flag_descriptions::kUnexpireFlagsM76Name, {"temporary-unexpire-flags-m76", flag_descriptions::kUnexpireFlagsM76Name,
flag_descriptions::kUnexpireFlagsM76Description, kOsAll, flag_descriptions::kUnexpireFlagsM76Description, kOsAll,
FEATURE_VALUE_TYPE(flags::kUnexpireFlagsM76)}, FEATURE_VALUE_TYPE(flags::kUnexpireFlagsM76)},
{"temporary-unexpire-flags-m78", flag_descriptions::kUnexpireFlagsM78Name,
flag_descriptions::kUnexpireFlagsM78Description, kOsAll,
FEATURE_VALUE_TYPE(flags::kUnexpireFlagsM78)},
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
{"lock-screen-media-controls", {"lock-screen-media-controls",
......
...@@ -3320,6 +3320,11 @@ ...@@ -3320,6 +3320,11 @@
"owners": [ "ellyjones", "flags-dev" ], "owners": [ "ellyjones", "flags-dev" ],
"expiry_milestone": 80 "expiry_milestone": 80
}, },
{
"name": "temporary-unexpire-flags-m78",
"owners": [ "ellyjones", "flags-dev" ],
"expiry_milestone": 81
},
{ {
"name": "terminal-system-app", "name": "terminal-system-app",
"owners": [ "joelhockey", "benwells", "//chrome/browser/chromeos/guest_os/OWNERS" ], "owners": [ "joelhockey", "benwells", "//chrome/browser/chromeos/guest_os/OWNERS" ],
......
...@@ -2171,6 +2171,10 @@ const char kUnexpireFlagsM76Name[] = "Temporarily unexpire M76 flags."; ...@@ -2171,6 +2171,10 @@ const char kUnexpireFlagsM76Name[] = "Temporarily unexpire M76 flags.";
const char kUnexpireFlagsM76Description[] = const char kUnexpireFlagsM76Description[] =
"Temporarily unexpire flags that are expired as of M76. These flags will " "Temporarily unexpire flags that are expired as of M76. These flags will "
"be removed soon."; "be removed soon.";
const char kUnexpireFlagsM78Name[] = "Temporarily unexpire M78 flags.";
const char kUnexpireFlagsM78Description[] =
"Temporarily unexpire flags that are expired as of M78. These flags will "
"be removed soon.";
const char kUnsafeWebGPUName[] = "Unsafe WebGPU"; const char kUnsafeWebGPUName[] = "Unsafe WebGPU";
const char kUnsafeWebGPUDescription[] = const char kUnsafeWebGPUDescription[] =
......
...@@ -1270,6 +1270,8 @@ extern const char kTurnOffStreamingMediaCachingDescription[]; ...@@ -1270,6 +1270,8 @@ extern const char kTurnOffStreamingMediaCachingDescription[];
extern const char kUnexpireFlagsM76Name[]; extern const char kUnexpireFlagsM76Name[];
extern const char kUnexpireFlagsM76Description[]; extern const char kUnexpireFlagsM76Description[];
extern const char kUnexpireFlagsM78Name[];
extern const char kUnexpireFlagsM78Description[];
extern const char kUnsafeWebGPUName[]; extern const char kUnsafeWebGPUName[];
extern const char kUnsafeWebGPUDescription[]; extern const char kUnsafeWebGPUDescription[];
......
...@@ -36,6 +36,8 @@ class FlagPredicateSingleton { ...@@ -36,6 +36,8 @@ class FlagPredicateSingleton {
const base::Feature kUnexpireFlagsM76{"TemporaryUnexpireFlagsM76", const base::Feature kUnexpireFlagsM76{"TemporaryUnexpireFlagsM76",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kUnexpireFlagsM78{"TemporaryUnexpireFlagsM78",
base::FEATURE_DISABLED_BY_DEFAULT};
bool ExpiryEnabledForMstone(int mstone) { bool ExpiryEnabledForMstone(int mstone) {
// generate_expired_list.py will never emit flags with expiry milestone -1, to // generate_expired_list.py will never emit flags with expiry milestone -1, to
...@@ -49,14 +51,17 @@ bool ExpiryEnabledForMstone(int mstone) { ...@@ -49,14 +51,17 @@ bool ExpiryEnabledForMstone(int mstone) {
if (mstone == -1) if (mstone == -1)
return false; return false;
// Currently expiration targets flags expiring in M76 or earlier. In M79 this // In M78 this expired flags with their expirations set to M76 or earlier.
// will become M78 or earlier; in M80 it will become M80 or earlier, and in // In M79 this expires flags with their expirations set to M78 or earlier.
// all future milestones Mx it will be Mx or earlier, so this logic will cease // In M80 and later, this will expire any flags whose expiration is <= the
// to hardcode a milestone and instead target the current major version. // current mstone, and this block comment will go away along with these
// special cases.
if (mstone < 76) if (mstone < 76)
return true; return true;
if (mstone == 76) if (mstone == 76)
return !base::FeatureList::IsEnabled(kUnexpireFlagsM76); return !base::FeatureList::IsEnabled(kUnexpireFlagsM76);
if (mstone == 77 || mstone == 78)
return !base::FeatureList::IsEnabled(kUnexpireFlagsM78);
return false; return false;
} }
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
namespace flags { namespace flags {
extern const base::Feature kUnexpireFlagsM76; extern const base::Feature kUnexpireFlagsM76;
extern const base::Feature kUnexpireFlagsM78;
bool IsFlagExpired(const char* internal_name); bool IsFlagExpired(const char* internal_name);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment