Commit 2c9f65e6 authored by Yusuf Ozuysal's avatar Yusuf Ozuysal Committed by Commit Bot

Add strings and constant for tab groups IPH

This adds the necessary strings and constants for the three IPH that
will be shown for Tab Groups. It also adds a utility class to facilitate
showing the IPH. Also adds a string for context menu changes.

BUG=930970,930965

Change-Id: Ide45f0a89a66bdab0096213ec8676303df37efe4
Reviewed-on: https://chromium-review.googlesource.com/c/1482592Reviewed-by: default avatarDavid Trainor <dtrainor@chromium.org>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Commit-Queue: Yusuf Ozuysal <yusufo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#634819}
parent 0efaae4f
...@@ -186,7 +186,12 @@ public class ContextMenuManager implements OnCloseContextMenuListener { ...@@ -186,7 +186,12 @@ public class ContextMenuManager implements OnCloseContextMenuListener {
{ {
put(ContextMenuItemId.OPEN_IN_NEW_WINDOW, put(ContextMenuItemId.OPEN_IN_NEW_WINDOW,
R.string.contextmenu_open_in_other_window); R.string.contextmenu_open_in_other_window);
put(ContextMenuItemId.OPEN_IN_NEW_TAB, R.string.contextmenu_open_in_new_tab); put(ContextMenuItemId.OPEN_IN_NEW_TAB,
ChromeFeatureList.isInitialized()
&& ChromeFeatureList.isEnabled(
ChromeFeatureList.TAB_GROUP_ANDROID)
? R.string.contextmenu_open_in_new_tab_group
: R.string.contextmenu_open_in_new_tab);
put(ContextMenuItemId.OPEN_IN_INCOGNITO_TAB, put(ContextMenuItemId.OPEN_IN_INCOGNITO_TAB,
ChromeFeatureList.isInitialized() ChromeFeatureList.isInitialized()
&& ChromeFeatureList.isEnabled( && ChromeFeatureList.isEnabled(
......
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.tasks.tab_groups;
import android.content.res.Resources;
import android.support.annotation.StringRes;
import android.view.View;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.widget.textbubble.TextBubble;
import org.chromium.components.feature_engagement.FeatureConstants;
import org.chromium.components.feature_engagement.Tracker;
import org.chromium.ui.widget.ViewRectProvider;
/**
* Helper class to handle tab groups related utilities.
*/
public class TabGroupUtils {
public static void maybeShowIPH(@FeatureConstants String featureName, View view) {
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.TAB_GROUP_ANDROID)) return;
Resources res = view.getContext().getResources();
@StringRes
int textId;
if (featureName.equals(FeatureConstants.TAB_GROUPS_QUICKLY_COMPARE_PAGES_FEATURE)) {
textId = R.string.iph_tab_groups_quickly_compare_pages_text;
} else if (featureName.equals(FeatureConstants.TAB_GROUPS_TAP_TO_SEE_ANOTHER_TAB_FEATURE)) {
textId = R.string.iph_tab_groups_tap_to_see_another_tab_text;
} else if (featureName.equals(FeatureConstants.TAB_GROUPS_YOUR_TABS_ARE_TOGETHER_FEATURE)) {
textId = R.string.iph_tab_groups_your_tabs_together_text;
} else {
assert false;
return;
}
final Tracker tracker = TrackerFactory.getTrackerForProfile(
Profile.getLastUsedProfile().getOriginalProfile());
if (!tracker.shouldTriggerHelpUI(featureName)) return;
ViewRectProvider rectProvider = new ViewRectProvider(view);
TextBubble textBubble =
new TextBubble(view.getContext(), view, textId, textId, true, rectProvider);
textBubble.setDismissOnTouchInteraction(true);
textBubble.addOnDismissListener(() -> tracker.dismissed(featureName));
textBubble.show();
}
}
...@@ -2065,6 +2065,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p ...@@ -2065,6 +2065,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_TAB" desc="Context sensitive menu item to open the selected link in a new tab. [CHAR-LIMIT=30]"> <message name="IDS_CONTEXTMENU_OPEN_IN_NEW_TAB" desc="Context sensitive menu item to open the selected link in a new tab. [CHAR-LIMIT=30]">
Open in new tab Open in new tab
</message> </message>
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_TAB_GROUP" desc="Context sensitive menu item to open the selected link in a new tab in a new group. [CHAR-LIMIT=30]">
Open in new tab in group
</message>
<message name="IDS_CONTEXTMENU_OPEN_IN_INCOGNITO_TAB" desc="Context sensitive menu item to open the selected link in a new incognito tab. [CHAR-LIMIT=30]"> <message name="IDS_CONTEXTMENU_OPEN_IN_INCOGNITO_TAB" desc="Context sensitive menu item to open the selected link in a new incognito tab. [CHAR-LIMIT=30]">
Open in incognito tab Open in incognito tab
</message> </message>
...@@ -3857,6 +3860,15 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p ...@@ -3857,6 +3860,15 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_IPH_PREVIEWS_OMNIBOX_UI_ACCESSIBILITY_TEXT" desc="The in-product-help text informing the user that the displayed page was modified to make it load faster or use less data. Prompts the user to tap the message and load the original, unaltered, page if they would like. The 'Lite page provided by Google.' sentence should match TC ID 373879247902731825"> <message name="IDS_IPH_PREVIEWS_OMNIBOX_UI_ACCESSIBILITY_TEXT" desc="The in-product-help text informing the user that the displayed page was modified to make it load faster or use less data. Prompts the user to tap the message and load the original, unaltered, page if they would like. The 'Lite page provided by Google.' sentence should match TC ID 373879247902731825">
Lite page provided by Google. Tap the load original button to load the original page. Lite page provided by Google. Tap the load original button to load the original page.
</message> </message>
<message name="IDS_IPH_TAB_GROUPS_QUICKLY_COMPARE_PAGES_TEXT" desc="In-product help for prompting the user on pages with links to long press and open links in different tabs.">
Quickly compare pages by making a group. To start, touch &amp; hold a link.
</message>
<message name="IDS_IPH_TAB_GROUPS_TAP_TO_SEE_ANOTHER_TAB_TEXT" desc="In-product help for when the tab strip containing the tabs in a tab group are shown.">
Tap to see another tab
</message>
<message name="IDS_IPH_TAB_GROUPS_YOUR_TABS_TOGETHER_TEXT" desc="In-product help for when a tab switcher card with multiple thumbnails are shown.">
Your tabs are grouped together here
</message>
<message name="IDS_IPH_TRANSLATE_MENU_BUTTON_TEXT" desc="The in-product-help message after a successful navigation prompting user to translate current page."> <message name="IDS_IPH_TRANSLATE_MENU_BUTTON_TEXT" desc="The in-product-help message after a successful navigation prompting user to translate current page.">
Translate this page to any language Translate this page to any language
</message> </message>
......
...@@ -1621,6 +1621,7 @@ chrome_java_sources = [ ...@@ -1621,6 +1621,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/tabmodel/document/StorageDelegate.java", "java/src/org/chromium/chrome/browser/tabmodel/document/StorageDelegate.java",
"java/src/org/chromium/chrome/browser/tabmodel/document/TabDelegate.java", "java/src/org/chromium/chrome/browser/tabmodel/document/TabDelegate.java",
"java/src/org/chromium/chrome/browser/tasks/TasksUma.java", "java/src/org/chromium/chrome/browser/tasks/TasksUma.java",
"java/src/org/chromium/chrome/browser/tasks/tab_groups/TabGroupUtils.java",
"java/src/org/chromium/chrome/browser/tasks/tab_list_ui/BottomTabGridCoordinator.java", "java/src/org/chromium/chrome/browser/tasks/tab_list_ui/BottomTabGridCoordinator.java",
"java/src/org/chromium/chrome/browser/tasks/tab_list_ui/BottomTabGridMediator.java", "java/src/org/chromium/chrome/browser/tasks/tab_list_ui/BottomTabGridMediator.java",
"java/src/org/chromium/chrome/browser/tasks/tab_list_ui/BottomTabGridSheetContent.java", "java/src/org/chromium/chrome/browser/tasks/tab_list_ui/BottomTabGridSheetContent.java",
......
...@@ -4,72 +4,100 @@ ...@@ -4,72 +4,100 @@
package org.chromium.components.feature_engagement; package org.chromium.components.feature_engagement;
import android.support.annotation.StringDef;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/** /**
* FeatureConstants contains the String name of all base::Feature in-product help features declared * FeatureConstants contains the String name of all base::Feature in-product help features declared
* in //components/feature_engagement/public/feature_constants.h. * in //components/feature_engagement/public/feature_constants.h.
*/ */
public final class FeatureConstants { @StringDef({FeatureConstants.DOWNLOAD_PAGE_FEATURE,
public static final String DOWNLOAD_PAGE_FEATURE = "IPH_DownloadPage"; FeatureConstants.DOWNLOAD_PAGE_SCREENSHOT_FEATURE, FeatureConstants.DOWNLOAD_HOME_FEATURE,
public static final String DOWNLOAD_PAGE_SCREENSHOT_FEATURE = "IPH_DownloadPageScreenshot"; FeatureConstants.CHROME_DUET_FEATURE, FeatureConstants.CHROME_HOME_EXPAND_FEATURE,
public static final String DOWNLOAD_HOME_FEATURE = "IPH_DownloadHome"; FeatureConstants.CHROME_HOME_PULL_TO_REFRESH_FEATURE,
public static final String CHROME_DUET_FEATURE = "IPH_ChromeDuet"; FeatureConstants.CONTEXTUAL_SUGGESTIONS_FEATURE,
public static final String CHROME_HOME_EXPAND_FEATURE = "IPH_ChromeHomeExpand"; FeatureConstants.DATA_SAVER_PREVIEW_FEATURE, FeatureConstants.DATA_SAVER_DETAIL_FEATURE,
public static final String CHROME_HOME_PULL_TO_REFRESH_FEATURE = "IPH_ChromeHomePullToRefresh"; FeatureConstants.NTP_BUTTON_FEATURE, FeatureConstants.PREVIEWS_OMNIBOX_UI_FEATURE,
public static final String CONTEXTUAL_SUGGESTIONS_FEATURE = "IPH_ContextualSuggestions"; FeatureConstants.HOMEPAGE_TILE_FEATURE, FeatureConstants.TRANSLATE_MENU_BUTTON_FEATURE,
public static final String DATA_SAVER_PREVIEW_FEATURE = "IPH_DataSaverPreview"; FeatureConstants.CONTEXTUAL_SEARCH_WEB_SEARCH_FEATURE,
public static final String DATA_SAVER_DETAIL_FEATURE = "IPH_DataSaverDetail"; FeatureConstants.CONTEXTUAL_SEARCH_PROMOTE_TAP_FEATURE,
public static final String NTP_BUTTON_FEATURE = "IPH_NewTabPageButton"; FeatureConstants.CONTEXTUAL_SEARCH_PROMOTE_PANEL_OPEN_FEATURE,
public static final String PREVIEWS_OMNIBOX_UI_FEATURE = "IPH_PreviewsOmniboxUI"; FeatureConstants.CONTEXTUAL_SEARCH_OPT_IN_FEATURE,
public static final String HOMEPAGE_TILE_FEATURE = "IPH_HomepageTile"; FeatureConstants.DOWNLOAD_SETTINGS_FEATURE,
FeatureConstants.DOWNLOAD_INFOBAR_DOWNLOAD_CONTINUING_FEATURE,
public static final String TRANSLATE_MENU_BUTTON_FEATURE = "IPH_TranslateMenuButton"; FeatureConstants.DOWNLOAD_INFOBAR_DOWNLOADS_ARE_FASTER_FEATURE,
FeatureConstants.TAB_GROUPS_QUICKLY_COMPARE_PAGES_FEATURE,
FeatureConstants.TAB_GROUPS_TAP_TO_SEE_ANOTHER_TAB_FEATURE,
FeatureConstants.TAB_GROUPS_YOUR_TABS_ARE_TOGETHER_FEATURE})
@Retention(RetentionPolicy.SOURCE)
public @interface FeatureConstants {
String DOWNLOAD_PAGE_FEATURE = "IPH_DownloadPage";
String DOWNLOAD_PAGE_SCREENSHOT_FEATURE = "IPH_DownloadPageScreenshot";
String DOWNLOAD_HOME_FEATURE = "IPH_DownloadHome";
String CHROME_DUET_FEATURE = "IPH_ChromeDuet";
String CHROME_HOME_EXPAND_FEATURE = "IPH_ChromeHomeExpand";
String CHROME_HOME_PULL_TO_REFRESH_FEATURE = "IPH_ChromeHomePullToRefresh";
String CONTEXTUAL_SUGGESTIONS_FEATURE = "IPH_ContextualSuggestions";
String DATA_SAVER_PREVIEW_FEATURE = "IPH_DataSaverPreview";
String DATA_SAVER_DETAIL_FEATURE = "IPH_DataSaverDetail";
String NTP_BUTTON_FEATURE = "IPH_NewTabPageButton";
String PREVIEWS_OMNIBOX_UI_FEATURE = "IPH_PreviewsOmniboxUI";
String HOMEPAGE_TILE_FEATURE = "IPH_HomepageTile";
String TRANSLATE_MENU_BUTTON_FEATURE = "IPH_TranslateMenuButton";
/** /**
* An IPH feature that encourages users who search a query from a web page in a new tab, to use * An IPH feature that encourages users who search a query from a web page in a new tab, to use
* Contextual Search instead. * Contextual Search instead.
*/ */
public static final String CONTEXTUAL_SEARCH_WEB_SEARCH_FEATURE = String CONTEXTUAL_SEARCH_WEB_SEARCH_FEATURE = "IPH_ContextualSearchWebSearch";
"IPH_ContextualSearchWebSearch";
/** /**
* An IPH feature for promoting tap over longpress for activating Contextual Search. * An IPH feature for promoting tap over longpress for activating Contextual Search.
*/ */
public static final String CONTEXTUAL_SEARCH_PROMOTE_TAP_FEATURE = String CONTEXTUAL_SEARCH_PROMOTE_TAP_FEATURE = "IPH_ContextualSearchPromoteTap";
"IPH_ContextualSearchPromoteTap";
/** /**
* An IPH feature for encouraging users to open the Contextual Search Panel. * An IPH feature for encouraging users to open the Contextual Search Panel.
*/ */
public static final String CONTEXTUAL_SEARCH_PROMOTE_PANEL_OPEN_FEATURE = String CONTEXTUAL_SEARCH_PROMOTE_PANEL_OPEN_FEATURE = "IPH_ContextualSearchPromotePanelOpen";
"IPH_ContextualSearchPromotePanelOpen";
/** /**
* An IPH feature for encouraging users to opt-in for Contextual Search. * An IPH feature for encouraging users to opt-in for Contextual Search.
*/ */
public static final String CONTEXTUAL_SEARCH_OPT_IN_FEATURE = "IPH_ContextualSearchOptIn"; String CONTEXTUAL_SEARCH_OPT_IN_FEATURE = "IPH_ContextualSearchOptIn";
/** /**
* An IPH feature indicating to users that there are settings for downloads and they are * An IPH feature indicating to users that there are settings for downloads and they are
* accessible through Downloads Home. * accessible through Downloads Home.
*/ */
public static final String DOWNLOAD_SETTINGS_FEATURE = "IPH_DownloadSettings"; String DOWNLOAD_SETTINGS_FEATURE = "IPH_DownloadSettings";
/** /**
* An IPH feature informing the users that even though infobar was closed, downloads are still * An IPH feature informing the users that even though infobar was closed, downloads are still
* continuing in the background. * continuing in the background.
*/ */
public static final String DOWNLOAD_INFOBAR_DOWNLOAD_CONTINUING_FEATURE = String DOWNLOAD_INFOBAR_DOWNLOAD_CONTINUING_FEATURE = "IPH_DownloadInfoBarDownloadContinuing";
"IPH_DownloadInfoBarDownloadContinuing";
/** /**
* An IPH feature that points to the download progress infobar and informs users that downloads * An IPH feature that points to the download progress infobar and informs users that downloads
* are now faster than before. * are now faster than before.
*/ */
public static final String DOWNLOAD_INFOBAR_DOWNLOADS_ARE_FASTER_FEATURE = String DOWNLOAD_INFOBAR_DOWNLOADS_ARE_FASTER_FEATURE = "IPH_DownloadInfoBarDownloadsAreFaster";
"IPH_DownloadInfoBarDownloadsAreFaster";
/**
* An IPH feature to prompt the user to long press on pages with links to open them in a group.
*/
String TAB_GROUPS_QUICKLY_COMPARE_PAGES_FEATURE = "IPH_TabGroupsQuicklyComparePages";
/**
* An IPH feature to show when the tabstrip shows to explain what each button does.
*/
String TAB_GROUPS_TAP_TO_SEE_ANOTHER_TAB_FEATURE = "IPH_TabGroupsTapToSeeAnotherTab";
/** /**
* Do not instantiate. * An IPH feature to show on tab switcher cards with multiple tab thumbnails.
*/ */
private FeatureConstants() {} String TAB_GROUPS_YOUR_TABS_ARE_TOGETHER_FEATURE = "IPH_TabGroupsYourTabsTogether";
} }
...@@ -55,6 +55,12 @@ const base::Feature kIPHNewTabPageButtonFeature{ ...@@ -55,6 +55,12 @@ const base::Feature kIPHNewTabPageButtonFeature{
"IPH_NewTabPageButton", base::FEATURE_DISABLED_BY_DEFAULT}; "IPH_NewTabPageButton", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHPreviewsOmniboxUIFeature{ const base::Feature kIPHPreviewsOmniboxUIFeature{
"IPH_PreviewsOmniboxUI", base::FEATURE_DISABLED_BY_DEFAULT}; "IPH_PreviewsOmniboxUI", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHTabGroupsQuicklyComparePagesFeature{
"IPH_TabGroupsQuicklyComparePages", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHTabGroupsTapToSeeAnotherTabFeature{
"IPH_TabGroupsTapToSeeAnotherTab", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHTabGroupsYourTabsAreTogetherFeature{
"IPH_TabGroupsYourTabsTogether", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIPHTranslateMenuButtonFeature{ const base::Feature kIPHTranslateMenuButtonFeature{
"IPH_TranslateMenuButton", base::FEATURE_ENABLED_BY_DEFAULT}; "IPH_TranslateMenuButton", base::FEATURE_ENABLED_BY_DEFAULT};
#endif // defined(OS_ANDROID) #endif // defined(OS_ANDROID)
......
...@@ -41,6 +41,9 @@ extern const base::Feature kIPHHomePageButtonFeature; ...@@ -41,6 +41,9 @@ extern const base::Feature kIPHHomePageButtonFeature;
extern const base::Feature kIPHHomepageTileFeature; extern const base::Feature kIPHHomepageTileFeature;
extern const base::Feature kIPHNewTabPageButtonFeature; extern const base::Feature kIPHNewTabPageButtonFeature;
extern const base::Feature kIPHPreviewsOmniboxUIFeature; extern const base::Feature kIPHPreviewsOmniboxUIFeature;
extern const base::Feature kIPHTabGroupsQuicklyComparePagesFeature;
extern const base::Feature kIPHTabGroupsTapToSeeAnotherTabFeature;
extern const base::Feature kIPHTabGroupsYourTabsAreTogetherFeature;
extern const base::Feature kIPHTranslateMenuButtonFeature; extern const base::Feature kIPHTranslateMenuButtonFeature;
#endif // defined(OS_ANDROID) #endif // defined(OS_ANDROID)
......
...@@ -37,6 +37,9 @@ const base::Feature* const kAllFeatures[] = { ...@@ -37,6 +37,9 @@ const base::Feature* const kAllFeatures[] = {
&kIPHHomepageTileFeature, &kIPHHomepageTileFeature,
&kIPHNewTabPageButtonFeature, &kIPHNewTabPageButtonFeature,
&kIPHPreviewsOmniboxUIFeature, &kIPHPreviewsOmniboxUIFeature,
&kIPHTabGroupsQuicklyComparePagesFeature,
&kIPHTabGroupsTapToSeeAnotherTabFeature,
&kIPHTabGroupsYourTabsAreTogetherFeature,
&kIPHTranslateMenuButtonFeature, &kIPHTranslateMenuButtonFeature,
#endif // defined(OS_ANDROID) #endif // defined(OS_ANDROID)
#if BUILDFLAG(ENABLE_DESKTOP_IN_PRODUCT_HELP) #if BUILDFLAG(ENABLE_DESKTOP_IN_PRODUCT_HELP)
......
...@@ -76,6 +76,12 @@ DEFINE_VARIATION_PARAM(kIPHHomePageButtonFeature, "IPH_HomePageButton"); ...@@ -76,6 +76,12 @@ DEFINE_VARIATION_PARAM(kIPHHomePageButtonFeature, "IPH_HomePageButton");
DEFINE_VARIATION_PARAM(kIPHHomepageTileFeature, "IPH_HomepageTile"); DEFINE_VARIATION_PARAM(kIPHHomepageTileFeature, "IPH_HomepageTile");
DEFINE_VARIATION_PARAM(kIPHNewTabPageButtonFeature, "IPH_NewTabPageButton"); DEFINE_VARIATION_PARAM(kIPHNewTabPageButtonFeature, "IPH_NewTabPageButton");
DEFINE_VARIATION_PARAM(kIPHPreviewsOmniboxUIFeature, "IPH_PreviewsOmniboxUI"); DEFINE_VARIATION_PARAM(kIPHPreviewsOmniboxUIFeature, "IPH_PreviewsOmniboxUI");
DEFINE_VARIATION_PARAM(kIPHTabGroupsQuicklyComparePagesFeature,
"IPH_IPH_TabGroupsQuicklyComparePages");
DEFINE_VARIATION_PARAM(kIPHTabGroupsTapToSeeAnotherTabFeature,
"IPH_TabGroupsTapToSeeAnotherTab");
DEFINE_VARIATION_PARAM(kIPHTabGroupsYourTabsAreTogetherFeature,
"IPH_TabGroupsYourTabsTogether");
DEFINE_VARIATION_PARAM(kIPHTranslateMenuButtonFeature, DEFINE_VARIATION_PARAM(kIPHTranslateMenuButtonFeature,
"IPH_TranslateMenuButton"); "IPH_TranslateMenuButton");
#endif // defined(OS_ANDROID) #endif // defined(OS_ANDROID)
...@@ -122,6 +128,9 @@ constexpr flags_ui::FeatureEntry::FeatureVariation ...@@ -122,6 +128,9 @@ constexpr flags_ui::FeatureEntry::FeatureVariation
VARIATION_ENTRY(kIPHHomepageTileFeature), VARIATION_ENTRY(kIPHHomepageTileFeature),
VARIATION_ENTRY(kIPHNewTabPageButtonFeature), VARIATION_ENTRY(kIPHNewTabPageButtonFeature),
VARIATION_ENTRY(kIPHPreviewsOmniboxUIFeature), VARIATION_ENTRY(kIPHPreviewsOmniboxUIFeature),
VARIATION_ENTRY(kIPHTabGroupsQuicklyComparePagesFeature),
VARIATION_ENTRY(kIPHTabGroupsTapToSeeAnotherTabFeature),
VARIATION_ENTRY(kIPHTabGroupsYourTabsAreTogetherFeature),
VARIATION_ENTRY(kIPHTranslateMenuButtonFeature), VARIATION_ENTRY(kIPHTranslateMenuButtonFeature),
#elif BUILDFLAG(ENABLE_DESKTOP_IN_PRODUCT_HELP) #elif BUILDFLAG(ENABLE_DESKTOP_IN_PRODUCT_HELP)
VARIATION_ENTRY(kIPHBookmarkFeature), VARIATION_ENTRY(kIPHBookmarkFeature),
......
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