Commit 2e2adb5a authored by Justin Cohen's avatar Justin Cohen Committed by Commit Bot

[ios] Add experimental flag to disable the DCheckIsFatal feature.

Change-Id: Ibf2479334f25f993c8b683144d766ccd07291714
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1860520Reviewed-by: default avatarAlexei Svitkine <asvitkine@chromium.org>
Reviewed-by: default avatarRohit Rao <rohitrao@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#709514}
parent 140763cc
......@@ -653,6 +653,19 @@ void ConvertFlagsToSwitches(flags_ui::FlagsStorage* flags_storage,
std::vector<std::string> RegisterAllFeatureVariationParameters(
flags_ui::FlagsStorage* flags_storage,
base::FeatureList* feature_list) {
// Occasionally DCHECK crashes on canary can be very distuptive. An
// experimental flag was added to aid in temporarily disabling this for
// canary testers.
#if defined(DCHECK_IS_CONFIGURABLE)
if (experimental_flags::AreDCHECKCrashesDisabled()) {
std::vector<base::FeatureList::FeatureOverrideInfo> overrides;
overrides.push_back(
{std::cref(base::kDCheckIsFatalFeature),
base::FeatureList::OverrideState::OVERRIDE_DISABLE_FEATURE});
feature_list->RegisterExtraFeatureOverrides(std::move(overrides));
}
#endif // defined(DCHECK_IS_CONFIGURABLE)
return GetGlobalFlagsState().RegisterAllFeatureVariationParameters(
flags_storage, feature_list);
}
......
......@@ -98,6 +98,16 @@
<key>DefaultValue</key>
<false/>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<key>Title</key>
<string>Disable DCHECK Crashes</string>
<key>Key</key>
<string>DisableDCHECKCrashes</string>
<key>DefaultValue</key>
<false/>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
......
......@@ -57,6 +57,9 @@ bool IsThirdPartyKeyboardWorkaroundEnabled();
// only once.
bool MustClearApplicationGroupSandbox();
// Whether the DCheckIsFatal feature should be disabled.
bool AreDCHECKCrashesDisabled();
} // namespace experimental_flags
#endif // IOS_CHROME_BROWSER_SYSTEM_FLAGS_H_
......@@ -34,6 +34,7 @@
namespace {
NSString* const kDisableDCHECKCrashes = @"DisableDCHECKCrashes";
NSString* const kEnableStartupCrash = @"EnableStartupCrash";
NSString* const kFirstRunForceEnabled = @"FirstRunForceEnabled";
NSString* const kGaiaEnvironment = @"GAIAEnvironment";
......@@ -96,6 +97,11 @@ bool IsStartupCrashEnabled() {
return [[NSUserDefaults standardUserDefaults] boolForKey:kEnableStartupCrash];
}
bool AreDCHECKCrashesDisabled() {
return
[[NSUserDefaults standardUserDefaults] boolForKey:kDisableDCHECKCrashes];
}
bool MustClearApplicationGroupSandbox() {
bool value =
[[NSUserDefaults standardUserDefaults] boolForKey:kClearApplicationGroup];
......
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