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[] = { ...@@ -564,6 +564,10 @@ const flags_ui::FeatureEntry kFeatureEntries[] = {
flag_descriptions::kSaveCardInfobarMessagesUIName, flag_descriptions::kSaveCardInfobarMessagesUIName,
flag_descriptions::kSaveCardInfobarMessagesUIDescription, flags_ui::kOsIos, flag_descriptions::kSaveCardInfobarMessagesUIDescription, flags_ui::kOsIos,
FEATURE_VALUE_TYPE(kSaveCardInfobarMessagesUI)}, 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|. // Add all switches from experimental flags to |command_line|.
......
...@@ -365,6 +365,11 @@ const char kToolbarNewTabButtonName[] = ...@@ -365,6 +365,11 @@ const char kToolbarNewTabButtonName[] =
const char kToolbarNewTabButtonDescription[] = const char kToolbarNewTabButtonDescription[] =
"When enabled, the bottom toolbar middle button opens a new tab"; "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 kUseDdljsonApiName[] = "Use new ddljson API for Doodles";
const char kUseDdljsonApiDescription[] = const char kUseDdljsonApiDescription[] =
"Enables the new ddljson API to fetch Doodles for the NTP."; "Enables the new ddljson API to fetch Doodles for the NTP.";
......
...@@ -320,6 +320,11 @@ extern const char kToolbarContainerDescription[]; ...@@ -320,6 +320,11 @@ extern const char kToolbarContainerDescription[];
extern const char kToolbarNewTabButtonName[]; extern const char kToolbarNewTabButtonName[];
extern const char kToolbarNewTabButtonDescription[]; 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. // Title and description for the flag to enable the ddljson Doodle API.
extern const char kUseDdljsonApiName[]; extern const char kUseDdljsonApiName[];
extern const char kUseDdljsonApiDescription[]; extern const char kUseDdljsonApiDescription[];
......
...@@ -24,6 +24,12 @@ extern const base::Feature kConfirmInfobarMessagesUI; ...@@ -24,6 +24,12 @@ extern const base::Feature kConfirmInfobarMessagesUI;
// Use IsSaveCardInfobarMessagesUIEnabled() instead of this constant directly. // Use IsSaveCardInfobarMessagesUIEnabled() instead of this constant directly.
extern const base::Feature kSaveCardInfobarMessagesUI; 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. // Whether the Messages Infobar UI is enabled.
bool IsInfobarUIRebootEnabled(); bool IsInfobarUIRebootEnabled();
...@@ -33,4 +39,7 @@ bool IsConfirmInfobarMessagesUIEnabled(); ...@@ -33,4 +39,7 @@ bool IsConfirmInfobarMessagesUIEnabled();
// Whether the SaveCard Infobar Messages UI is enabled. // Whether the SaveCard Infobar Messages UI is enabled.
bool IsSaveCardInfobarMessagesUIEnabled(); bool IsSaveCardInfobarMessagesUIEnabled();
// Whether the Translate Infobar Messages UI is enabled.
bool IsTranslateInfobarMessagesUIEnabled();
#endif // IOS_CHROME_BROWSER_UI_INFOBARS_INFOBAR_FEATURE_H_ #endif // IOS_CHROME_BROWSER_UI_INFOBARS_INFOBAR_FEATURE_H_
...@@ -24,6 +24,13 @@ const base::Feature kConfirmInfobarMessagesUI{"ConfirmInfobarMessagesUI", ...@@ -24,6 +24,13 @@ const base::Feature kConfirmInfobarMessagesUI{"ConfirmInfobarMessagesUI",
const base::Feature kSaveCardInfobarMessagesUI{ const base::Feature kSaveCardInfobarMessagesUI{
"SaveCardInfobarMessagesUI", base::FEATURE_DISABLED_BY_DEFAULT}; "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() { bool IsInfobarUIRebootEnabled() {
return base::FeatureList::IsEnabled(kInfobarUIReboot); return base::FeatureList::IsEnabled(kInfobarUIReboot);
} }
...@@ -37,3 +44,8 @@ bool IsSaveCardInfobarMessagesUIEnabled() { ...@@ -37,3 +44,8 @@ bool IsSaveCardInfobarMessagesUIEnabled() {
return base::FeatureList::IsEnabled(kSaveCardInfobarMessagesUI) && return base::FeatureList::IsEnabled(kSaveCardInfobarMessagesUI) &&
IsInfobarUIRebootEnabled(); 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