Commit 5a126d1e authored by Yue Zhang's avatar Yue Zhang Committed by Commit Bot

Disable TabGrid/Group for Tablets

Since TabGrid/Group is no-op for Tablets, disable both features for
Tablets from client-side.

Bug: 1108468
Change-Id: I9b26c7ecd4f260b1903a0f40e1e86c985101d8b4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2363644
Commit-Queue: Wei-Yin Chen (陳威尹) <wychen@chromium.org>
Auto-Submit: Yue Zhang <yuezhanggg@chromium.org>
Reviewed-by: default avatarWei-Yin Chen (陳威尹) <wychen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#799509}
parent 463e10c5
...@@ -9,6 +9,7 @@ import android.text.TextUtils; ...@@ -9,6 +9,7 @@ import android.text.TextUtils;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log; import org.chromium.base.Log;
import org.chromium.base.SysUtils; import org.chromium.base.SysUtils;
import org.chromium.chrome.browser.device.DeviceClassManager; import org.chromium.chrome.browser.device.DeviceClassManager;
...@@ -20,6 +21,7 @@ import org.chromium.chrome.browser.flags.IntCachedFieldTrialParameter; ...@@ -20,6 +21,7 @@ import org.chromium.chrome.browser.flags.IntCachedFieldTrialParameter;
import org.chromium.chrome.browser.flags.StringCachedFieldTrialParameter; import org.chromium.chrome.browser.flags.StringCachedFieldTrialParameter;
import org.chromium.chrome.browser.tasks.ConditionalTabStripUtils; import org.chromium.chrome.browser.tasks.ConditionalTabStripUtils;
import org.chromium.chrome.features.start_surface.StartSurfaceConfiguration; import org.chromium.chrome.features.start_surface.StartSurfaceConfiguration;
import org.chromium.ui.base.DeviceFormFactor;
/** /**
* A class to handle the state of flags for tab_management. * A class to handle the state of flags for tab_management.
...@@ -93,6 +95,12 @@ public class TabUiFeatureUtilities { ...@@ -93,6 +95,12 @@ public class TabUiFeatureUtilities {
// Disable grid tab switcher if stack tab switcher is enabled for the start surface. // Disable grid tab switcher if stack tab switcher is enabled for the start surface.
if (StartSurfaceConfiguration.isStartSurfaceStackTabSwitcherEnabled()) return false; if (StartSurfaceConfiguration.isStartSurfaceStackTabSwitcherEnabled()) return false;
// Disable grid tab switcher for tablet.
if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(
ContextUtils.getApplicationContext())) {
return false;
}
// Having Tab Groups or Start implies Grid Tab Switcher. // Having Tab Groups or Start implies Grid Tab Switcher.
return (!DeviceClassManager.enableAccessibilityLayout() return (!DeviceClassManager.enableAccessibilityLayout()
&& CachedFeatureFlags.isEnabled(ChromeFeatureList.TAB_GRID_LAYOUT_ANDROID) && CachedFeatureFlags.isEnabled(ChromeFeatureList.TAB_GRID_LAYOUT_ANDROID)
...@@ -107,6 +115,12 @@ public class TabUiFeatureUtilities { ...@@ -107,6 +115,12 @@ public class TabUiFeatureUtilities {
// Disable tab groups if stack tab switcher is enabled for the start surface. // Disable tab groups if stack tab switcher is enabled for the start surface.
if (StartSurfaceConfiguration.isStartSurfaceStackTabSwitcherEnabled()) return false; if (StartSurfaceConfiguration.isStartSurfaceStackTabSwitcherEnabled()) return false;
// Disable tab group for tablet.
if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(
ContextUtils.getApplicationContext())) {
return false;
}
return !DeviceClassManager.enableAccessibilityLayout() return !DeviceClassManager.enableAccessibilityLayout()
&& CachedFeatureFlags.isEnabled(ChromeFeatureList.TAB_GROUPS_ANDROID) && CachedFeatureFlags.isEnabled(ChromeFeatureList.TAB_GROUPS_ANDROID)
&& isTabManagementModuleSupported(); && isTabManagementModuleSupported();
......
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