Add web app launch handler to about:flags

This exposes the WebAppEnabledLaunchHandler flag to about:flags as:
chrome://flags#enable-desktop-pwas-launch-handler

Bug: 1231886
Change-Id: Id219c5632c715190f58d9e77395e792391f1d42a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3131673
Auto-Submit: Alan Cutter <[email protected]>
Commit-Queue: Eric Willigers <[email protected]>
Reviewed-by: Eric Willigers <[email protected]>
Cr-Commit-Position: refs/heads/main@{#916976}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 8373a8cb..c3937bfc 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3690,6 +3690,10 @@
      flag_descriptions::kDesktopPWAsTabStripSettingsName,
      flag_descriptions::kDesktopPWAsTabStripSettingsDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kDesktopPWAsTabStripSettings)},
+    {"enable-desktop-pwas-launch-handler",
+     flag_descriptions::kDesktopPWAsLaunchHandlerName,
+     flag_descriptions::kDesktopPWAsLaunchHandlerDescription, kOsDesktop,
+     FEATURE_VALUE_TYPE(blink::features::kWebAppEnableLaunchHandler)},
     {"enable-desktop-pwas-link-capturing",
      flag_descriptions::kDesktopPWAsLinkCapturingName,
      flag_descriptions::kDesktopPWAsLinkCapturingDescription, kOsDesktop,
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index b766804..150d8c0 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -1776,6 +1776,11 @@
     "expiry_milestone": 91
   },
   {
+    "name": "enable-desktop-pwas-launch-handler",
+    "owners": [ "[email protected]", "[email protected]" ],
+    "expiry_milestone": 100
+  },
+  {
     "name": "enable-desktop-pwas-link-capturing",
     "owners": [ "[email protected]", "[email protected]" ],
     "expiry_milestone": 96
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 1a591ea..5333fe9 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -775,6 +775,12 @@
     "https://github.com/WICG/sw-launch/blob/master/"
     "declarative_link_capturing.md";
 
+const char kDesktopPWAsLaunchHandlerName[] = "Desktop PWA launch handler";
+const char kDesktopPWAsLaunchHandlerDescription[] =
+    "Enable web app manifests to declare app launch behavior. Prototype "
+    "implementation of: "
+    "https://github.com/WICG/sw-launch/blob/main/launch_handler.md";
+
 const char kDesktopPWAsManifestIdName[] = "Desktop PWA manifest id";
 const char kDesktopPWAsManifestIdDescription[] =
     "Enable web app manifests to declare id. Prototype "
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index a0936ea..2fc0300 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -460,6 +460,9 @@
 extern const char kDesktopPWAsNotificationIconAndTitleName[];
 extern const char kDesktopPWAsNotificationIconAndTitleDescription[];
 
+extern const char kDesktopPWAsLaunchHandlerName[];
+extern const char kDesktopPWAsLaunchHandlerDescription[];
+
 extern const char kDesktopPWAsLinkCapturingName[];
 extern const char kDesktopPWAsLinkCapturingDescription[];