| Index: ios/chrome/browser/experimental_flags.mm
|
| diff --git a/ios/chrome/browser/experimental_flags.mm b/ios/chrome/browser/experimental_flags.mm
|
| index 3880c9777d803cd8ece35311f600d206e23e1586..a84f60032b3c2dc3bbda2f2e30ac948a6b03b80e 100644
|
| --- a/ios/chrome/browser/experimental_flags.mm
|
| +++ b/ios/chrome/browser/experimental_flags.mm
|
| @@ -44,6 +44,8 @@ NSString* const kSafariVCSignInDisabled = @"SafariVCSignInDisabled";
|
| NSString* const kWhatsNewPromoStatus = @"WhatsNewPromoStatus";
|
| const base::Feature kEnableSlimNavigationManager{
|
| "EnableSlimNavigationManager", base::FEATURE_DISABLED_BY_DEFAULT};
|
| +const base::Feature kEnableThirdPartyKeyboardWorkaround{
|
| + "EnableThirdPartyKeyboardWorkaround", base::FEATURE_ENABLED_BY_DEFAULT};
|
|
|
| } // namespace
|
|
|
| @@ -304,4 +306,18 @@ bool IsSlimNavigationManagerEnabled() {
|
| return base::FeatureList::IsEnabled(kEnableSlimNavigationManager);
|
| }
|
|
|
| +bool IsThirdPartyKeyboardWorkaroundEnabled() {
|
| + // Check if the experimental flag is forced on or off.
|
| + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
| + if (command_line->HasSwitch(switches::kEnableThirdPartyKeyboardWorkaround)) {
|
| + return true;
|
| + } else if (command_line->HasSwitch(
|
| + switches::kDisableThirdPartyKeyboardWorkaround)) {
|
| + return false;
|
| + }
|
| +
|
| + // Check if the Finch experiment is turned on.
|
| + return base::FeatureList::IsEnabled(kEnableThirdPartyKeyboardWorkaround);
|
| +}
|
| +
|
| } // namespace experimental_flags
|
|
|