Add Files App rar2fs feature flag
Bug: 996549
Change-Id: I6ed2ea70e4c68b996647a98457028cf55917f405
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2046423
Commit-Queue: François Degros <[email protected]>
Reviewed-by: Anand Mistry <[email protected]>
Cr-Commit-Position: refs/heads/master@{#739791}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 74cf406..d72bb186 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2851,6 +2851,9 @@
{"files-unified-media-view", flag_descriptions::kUnifiedMediaViewName,
flag_descriptions::kUnifiedMediaViewDescription, kOsCrOS,
FEATURE_VALUE_TYPE(chromeos::features::kUnifiedMediaView)},
+ {"rar2fs", flag_descriptions::kRar2FsName,
+ flag_descriptions::kRar2FsDescription, kOsCrOS,
+ FEATURE_VALUE_TYPE(chromeos::features::kRar2Fs)},
#endif // OS_CHROMEOS
#if defined(OS_WIN)
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 37e9f01..939e2fe 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -3152,6 +3152,11 @@
"expiry_milestone": 83
},
{
+ "name": "rar2fs",
+ "owners": ["fdegros", "dats"],
+ "expiry_milestone": 84
+ },
+ {
"name": "raw-clipboard",
"owners": ["huangdarwin", "pwnall"],
"expiry_milestone": 84
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 54ed521..25222a3d 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3475,6 +3475,10 @@
const char kPrintServerUiDescription[] =
"Enables users to add their own print server in the printer settings page.";
+const char kRar2FsName[] = "Enable rar2fs";
+const char kRar2FsDescription[] =
+ "Enable Files App to mount RAR archives using rar2fs.";
+
const char kReduceDisplayNotificationsName[] = "Reduce display notifications";
const char kReduceDisplayNotificationsDescription[] =
"If enabled, notifications for display rotation, display removed, display "
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 0e1495b..1ee24b9 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -2026,6 +2026,9 @@
extern const char kPrintServerUiName[];
extern const char kPrintServerUiDescription[];
+extern const char kRar2FsName[];
+extern const char kRar2FsDescription[];
+
extern const char kReduceDisplayNotificationsName[];
extern const char kReduceDisplayNotificationsDescription[];
diff --git a/chromeos/constants/chromeos_features.cc b/chromeos/constants/chromeos_features.cc
index 4d0e5f3e..5f85e11 100644
--- a/chromeos/constants/chromeos_features.cc
+++ b/chromeos/constants/chromeos_features.cc
@@ -202,6 +202,10 @@
const base::Feature kQuickAnswers{"QuickAnswers",
base::FEATURE_DISABLED_BY_DEFAULT};
+// ChromeOS Files App mounts RAR archives via rar2fs instead of avfs.
+// https://crbug.com/996549
+const base::Feature kRar2Fs{"Rar2Fs", base::FEATURE_DISABLED_BY_DEFAULT};
+
// Enables or disables Release Notes on Chrome OS.
const base::Feature kReleaseNotes{"ReleaseNotes",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/chromeos/constants/chromeos_features.h b/chromeos/constants/chromeos_features.h
index 3e8b80f..a2532131 100644
--- a/chromeos/constants/chromeos_features.h
+++ b/chromeos/constants/chromeos_features.h
@@ -95,6 +95,7 @@
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kParentalControlsSettings;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS) extern const base::Feature kQuickAnswers;
+COMPONENT_EXPORT(CHROMEOS_CONSTANTS) extern const base::Feature kRar2Fs;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
extern const base::Feature kReleaseNotes;
COMPONENT_EXPORT(CHROMEOS_CONSTANTS)
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index a22486fa..a0c3118 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -37809,6 +37809,7 @@
<int value="-970067535" label="BackgroundTaskComponentUpdate:disabled"/>
<int value="-969815853" label="migrate-linux-to-logindb:enabled"/>
<int value="-969332901" label="stop-non-timers-in-background:disabled"/>
+ <int value="-968675274" label="Rar2Fs:enabled"/>
<int value="-968010468" label="SharedArrayBuffer:disabled"/>
<int value="-966290456" label="WebAuthenticationCtap2:enabled"/>
<int value="-965842218" label="MultiDeviceApi:disabled"/>
@@ -39450,6 +39451,7 @@
<int value="1096477444" label="AssistantVoiceMatch:enabled"/>
<int value="1098823967" label="ash-enable-window-cycle-ui"/>
<int value="1100244809" label="MacSystemMediaPermissionsInfoUI:disabled"/>
+ <int value="1101062411" label="Rar2Fs:disabled"/>
<int value="1102780374" label="ClickToCallDetectionV2:disabled"/>
<int value="1104948452" label="manual-enhanced-bookmarks-optout"/>
<int value="1105439588" label="enable-swipe-selection"/>