Commit 121812d1 authored by Alan Cutter's avatar Alan Cutter Committed by Commit Bot

WebApps: Add flag for experimenting with adding tab strips to PWA windows

This CL adds a DesktopPWAsTabStrip flag that's disabled by default which
adds Chrome's tab strip UI to PWA windows.
This is purely for experimentation and communication with UX.

Screenshot: https://bugs.chromium.org/p/chromium/issues/attachment?aid=424245&signed_aid=oQpgjaC2V3-UC0L_ziRbsg==&inline=1

Bug: 1020050
Change-Id: Icd19f9ba58b60c5c9b042fcf3c6325a2c7a555f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1950727
Commit-Queue: Alan Cutter <alancutter@chromium.org>
Reviewed-by: default avatarRaymes Khoury <raymes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#729643}
parent 78dfce9d
......@@ -2234,6 +2234,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kDesktopPWAsLocalUpdatingName,
flag_descriptions::kDesktopPWAsLocalUpdatingDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kDesktopPWAsLocalUpdating)},
{"enable-desktop-pwas-tab-strip",
flag_descriptions::kDesktopPWAsTabStripName,
flag_descriptions::kDesktopPWAsTabStripDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kDesktopPWAsTabStrip)},
{"enable-system-webapps", flag_descriptions::kEnableSystemWebAppsName,
flag_descriptions::kEnableSystemWebAppsDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kSystemWebApps)},
......
......@@ -1253,6 +1253,11 @@
"owners": [ "desktop-pwas-team@google.com" ],
"expiry_milestone": 83
},
{
"name": "enable-desktop-pwas-tab-strip",
"owners": [ "desktop-pwas-team@google.com" ],
"expiry_milestone": 84
},
{
"name": "enable-devtools-experiments",
"owners": [ "//third_party/devtools-frontend/src/OWNERS" ],
......
......@@ -644,6 +644,11 @@ extern const char kDesktopPWAsLocalUpdatingDescription[] =
"Enable installed PWAs to update their app manifest data when the site "
"manifest data has changed.";
extern const char kDesktopPWAsTabStripName[] = "Desktop PWA tab strips";
extern const char kDesktopPWAsTabStripDescription[] =
"Experimental UI for exploring what PWA windows would look like with a tab "
"strip.";
const char kEnableSystemWebAppsName[] = "System Web Apps";
const char kEnableSystemWebAppsDescription[] =
"Experimental system for using the Desktop PWA framework for running System"
......
......@@ -398,6 +398,9 @@ extern const char kEnableDesktopPWAsDescription[];
extern const char kDesktopPWAsLocalUpdatingName[];
extern const char kDesktopPWAsLocalUpdatingDescription[];
extern const char kDesktopPWAsTabStripName[];
extern const char kDesktopPWAsTabStripDescription[];
extern const char kEnableSystemWebAppsName[];
extern const char kEnableSystemWebAppsDescription[];
......
......@@ -94,7 +94,9 @@ AppBrowserController::AppBrowserController(
// Show tabs for Terminals only.
// TODO(crbug.com/846546): Generalise has_tab_strip_ as a SystemWebApp
// capability.
has_tab_strip_(system_app_type_ == SystemAppType::TERMINAL) {
has_tab_strip_(
base::FeatureList::IsEnabled(features::kDesktopPWAsTabStrip) ||
system_app_type_ == SystemAppType::TERMINAL) {
browser->tab_strip_model()->AddObserver(this);
}
......
......@@ -262,6 +262,10 @@ const base::Feature kDesktopPWAsCacheDuringDefaultInstall{
const base::Feature kDesktopPWAsLocalUpdating{"DesktopPWAsLocalUpdating",
base::FEATURE_ENABLED_BY_DEFAULT};
// Adds a tab strip to PWA windows, used for UI experimentation.
const base::Feature kDesktopPWAsTabStrip{"DesktopPWAsTabStrip",
base::FEATURE_DISABLED_BY_DEFAULT};
// Enables or disables use of new Desktop PWAs browser controller (that uses the
// universal web_app::AppRegistrar) by extensions-based bookmark apps. Note that
// the new Desktop PWAs implementation (not based on extensions) always uses the
......
......@@ -146,6 +146,9 @@ extern const base::Feature kDesktopPWAsCacheDuringDefaultInstall;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopPWAsLocalUpdating;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopPWAsTabStrip;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kDesktopPWAsUnifiedUiController;
......
......@@ -36419,6 +36419,7 @@ from previous Chrome versions.
<int value="-1872989945" label="enable-webview-based-signin"/>
<int value="-1872867546" label="EnumerateAudioDevices:disabled"/>
<int value="-1872205507" label="ShelfNewUi:enabled"/>
<int value="-1871552967" label="DesktopPWAsTabStrip:disabled"/>
<int value="-1871185948" label="VrLaunchIntents:disabled"/>
<int value="-1870961970" label="enable-filemanager-mtp"/>
<int value="-1869845022" label="force-show-update-menu-item"/>
......@@ -37795,6 +37796,7 @@ from previous Chrome versions.
<int value="-141516902" label="UseModernMediaControls:enabled"/>
<int value="-140168253" label="ProfileMenuRevamp:enabled"/>
<int value="-138983372" label="DesktopPWAWindowing:disabled"/>
<int value="-138820512" label="DesktopPWAsTabStrip:enabled"/>
<int value="-138773929" label="PassiveDocumentEventListeners:enabled"/>
<int value="-138760381" label="AutofillManualFallbackAndroid:enabled"/>
<int value="-137303226" label="enable-chromevox-developer-option"/>
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