Commit 4cc111b4 authored by Chris Lu's avatar Chris Lu Committed by Commit Bot

[ios] Create Feature Flag for Translate Messages UI

Bug: 1014959
Change-Id: I72f36884a3bc36e7d39a93314ec3c4e770ddd10a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1869371
Commit-Queue: Chris Lu <thegreenfrog@chromium.org>
Reviewed-by: default avatarPeter Lee <pkl@chromium.org>
Reviewed-by: default avatarSergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#707557}
parent 162c3111
......@@ -564,6 +564,10 @@ const flags_ui::FeatureEntry kFeatureEntries[] = {
flag_descriptions::kSaveCardInfobarMessagesUIName,
flag_descriptions::kSaveCardInfobarMessagesUIDescription, flags_ui::kOsIos,
FEATURE_VALUE_TYPE(kSaveCardInfobarMessagesUI)},
{"messages-translate-infobar",
flag_descriptions::kTranslateInfobarMessagesUIName,
flag_descriptions::kTranslateInfobarMessagesUIDescription,
flags_ui::kOsIos, FEATURE_VALUE_TYPE(kTranslateInfobarMessagesUI)},
};
// Add all switches from experimental flags to |command_line|.
......
......@@ -365,6 +365,11 @@ const char kToolbarNewTabButtonName[] =
const char kToolbarNewTabButtonDescription[] =
"When enabled, the bottom toolbar middle button opens a new tab";
const char kTranslateInfobarMessagesUIName[] =
"Enable Translate Infobar Messages UI";
const char kTranslateInfobarMessagesUIDescription[] =
"When enabled, the Translate Infobar uses the new Messages UI.";
const char kUseDdljsonApiName[] = "Use new ddljson API for Doodles";
const char kUseDdljsonApiDescription[] =
"Enables the new ddljson API to fetch Doodles for the NTP.";
......
......@@ -320,6 +320,11 @@ extern const char kToolbarContainerDescription[];
extern const char kToolbarNewTabButtonName[];
extern const char kToolbarNewTabButtonDescription[];
// Title and description for the flag to enable the Messages UI for Translate
// Infobars.
extern const char kTranslateInfobarMessagesUIName[];
extern const char kTranslateInfobarMessagesUIDescription[];
// Title and description for the flag to enable the ddljson Doodle API.
extern const char kUseDdljsonApiName[];
extern const char kUseDdljsonApiDescription[];
......
......@@ -24,6 +24,12 @@ extern const base::Feature kConfirmInfobarMessagesUI;
// Use IsSaveCardInfobarMessagesUIEnabled() instead of this constant directly.
extern const base::Feature kSaveCardInfobarMessagesUI;
// Feature to choose whether Translate Infobar uses the new Messages UI or the
// legacy one. In order for it to work, kInfobarUIReboot needs to also be
// enabled.
// Use IsTranslateInfobarMessagesUIEnabled() instead of this constant directly.
extern const base::Feature kTranslateInfobarMessagesUI;
// Whether the Messages Infobar UI is enabled.
bool IsInfobarUIRebootEnabled();
......@@ -33,4 +39,7 @@ bool IsConfirmInfobarMessagesUIEnabled();
// Whether the SaveCard Infobar Messages UI is enabled.
bool IsSaveCardInfobarMessagesUIEnabled();
// Whether the Translate Infobar Messages UI is enabled.
bool IsTranslateInfobarMessagesUIEnabled();
#endif // IOS_CHROME_BROWSER_UI_INFOBARS_INFOBAR_FEATURE_H_
......@@ -24,6 +24,13 @@ const base::Feature kConfirmInfobarMessagesUI{"ConfirmInfobarMessagesUI",
const base::Feature kSaveCardInfobarMessagesUI{
"SaveCardInfobarMessagesUI", base::FEATURE_DISABLED_BY_DEFAULT};
// Feature enabled by default since it will always be guarded with
// |kInfobarUIReboot|, meaning that if necessary, |kInfobarUIReboot| can be used
// as a kill switch.
// TODO(crbug.com/1014959): Enabled flag once feature is ready.
const base::Feature kTranslateInfobarMessagesUI{
"TranslateInfobarMessagesUI", base::FEATURE_DISABLED_BY_DEFAULT};
bool IsInfobarUIRebootEnabled() {
return base::FeatureList::IsEnabled(kInfobarUIReboot);
}
......@@ -37,3 +44,8 @@ bool IsSaveCardInfobarMessagesUIEnabled() {
return base::FeatureList::IsEnabled(kSaveCardInfobarMessagesUI) &&
IsInfobarUIRebootEnabled();
}
bool IsTranslateInfobarMessagesUIEnabled() {
return base::FeatureList::IsEnabled(kTranslateInfobarMessagesUI) &&
IsInfobarUIRebootEnabled();
}
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