Feature flag for Crostini Port Forwarding

Port forwarding is a new feature within crostini, users will be able to
access the feature setting through the crostini settings page. Whilst
it is being worked on, we should keep it behind a feature flag that is
disabled by default.

Bug: chromium/848127
Test: Make sure chromium builds, able to see the new flag in
chrome: //flags on the DUT
Change-Id: I36f66a8eecfc1cd169ec5f3c1d567c7147ca7007
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1988607
Commit-Queue: Matthew Chen <[email protected]>
Reviewed-by: David Munro <[email protected]>
Reviewed-by: Nic Hollingum <[email protected]>
Reviewed-by: Fergus Dall <[email protected]>
Cr-Commit-Position: refs/heads/master@{#729245}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index f35b53e..c8641a03 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2111,6 +2111,9 @@
     {"crostini-backup", flag_descriptions::kCrostiniBackupName,
      flag_descriptions::kCrostiniBackupDescription, kOsCrOS,
      FEATURE_VALUE_TYPE(chromeos::features::kCrostiniBackup)},
+    {"crostini-port-forwarding", flag_descriptions::kCrostiniPortForwardingName,
+     flag_descriptions::kCrostiniPortForwardingDescription, kOsCrOS,
+     FEATURE_VALUE_TYPE(chromeos::features::kCrostiniPortForwarding)},
     {"terminal-system-app", flag_descriptions::kTerminalSystemAppName,
      flag_descriptions::kTerminalSystemAppDescription, kOsCrOS,
      FEATURE_VALUE_TYPE(features::kTerminalSystemApp)},
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index b7b0a3104..d1577afa2 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -600,6 +600,11 @@
     "expiry_milestone": 85
   },
   {
+    "name": "crostini-port-forwarding",
+    "owners": [ "matterchen", "davidmunro", "hollingum" ],
+    "expiry_milestone": 84
+  },
+  {
     "name": "crostini-usb-allow-unsupported",
     "owners": [ "nverne", "benwells", "clumptini" ],
     "expiry_milestone": 85
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 9bfba6e..009efcb 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3342,6 +3342,10 @@
 const char kCrostiniBackupName[] = "Crostini Backup";
 const char kCrostiniBackupDescription[] = "Enable Crostini export and import.";
 
+const char kCrostiniPortForwardingName[] = "Crostini Port Forwarding";
+const char kCrostiniPortForwardingDescription[] =
+    "Enable Crostini port forwarding.";
+
 const char kCrostiniUseBusterImageName[] = "New Crostini containers use Buster";
 const char kCrostiniUseBusterImageDescription[] =
     "New Crostini containers use Debian Buster images instead of Debian "
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 9362e79..a78fae2 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1981,6 +1981,9 @@
 extern const char kCrostiniBackupName[];
 extern const char kCrostiniBackupDescription[];
 
+extern const char kCrostiniPortForwardingName[];
+extern const char kCrostiniPortForwardingDescription[];
+
 extern const char kCrostiniUseBusterImageName[];
 extern const char kCrostiniUseBusterImageDescription[];