Privacy Advisor: Add feature flag

Add feature flag for Privacy Advisor.

Bug: 1083878
Change-Id: I577cc36c7255a7d304c610ce6943931c7a2daf66
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2416452
Commit-Queue: Tymofii Chudakov <[email protected]>
Reviewed-by: Theodore Olsauskas-Warren <[email protected]>
Reviewed-by: Sean Harrison <[email protected]>
Cr-Commit-Position: refs/heads/master@{#813647}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index f1dd2bc..31dcb84 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -6668,10 +6668,15 @@
      FEATURE_VALUE_TYPE(
          autofill::features::kWalletRequiresFirstSyncSetupComplete)},
 #endif  // defined(OS_ANDROID)
-        // NOTE: Adding a new flag requires adding a corresponding entry to enum
-        // "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
-        // Histograms" in tools/metrics/histograms/README.md (run the
-        // AboutFlagsHistogramTest unit test to verify this process).
+
+    {"privacy-advisor", flag_descriptions::kPrivacyAdvisorName,
+     flag_descriptions::kPrivacyAdvisorDescription, kOsDesktop,
+     FEATURE_VALUE_TYPE(features::kPrivacyAdvisor)},
+
+    // NOTE: Adding a new flag requires adding a corresponding entry to enum
+    // "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
+    // Histograms" in tools/metrics/histograms/README.md (run the
+    // AboutFlagsHistogramTest unit test to verify this process).
 };
 
 class FlagsStateSingleton : public flags_ui::FlagsState::Delegate {
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 098322f2..4330987 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -3793,6 +3793,15 @@
     "expiry_milestone": 90
   },
   {
+    "name": "privacy-advisor",
+    "owners": [
+      "harrisonsean",
+      "sauski",
+      "msramek",
+      "[email protected]"],
+    "expiry_milestone": 90
+  },
+  {
     "name": "privacy-elevated-android",
     "owners": [
       "andzaytsev",
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index de1a37b5..3713c06 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1899,6 +1899,10 @@
 const char kPrintSaveToDriveDescription[] =
     "Modifies Print Preview Save to Drive to use locally mounted Drive";
 
+const char kPrivacyAdvisorName[] = "Privacy Advisor";
+const char kPrivacyAdvisorDescription[] =
+    "Provides contextual entry points for adjusting privacy settings";
+
 const char kPrivacyElevatedAndroidName[] =
     "Elevate Privacy in Settings on Android";
 const char kPrivacyElevatedAndroidDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index ff7ef845..ab141170 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1093,6 +1093,9 @@
 extern const char kPrintSaveToDriveName[];
 extern const char kPrintSaveToDriveDescription[];
 
+extern const char kPrivacyAdvisorName[];
+extern const char kPrivacyAdvisorDescription[];
+
 extern const char kPrivacyElevatedAndroidName[];
 extern const char kPrivacyElevatedAndroidDescription[];
 
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
index 6a4afa2f..f85aeb53 100644
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -637,6 +637,10 @@
 const base::Feature kPrerenderFallbackToPreconnect{
     "PrerenderFallbackToPreconnect", base::FEATURE_ENABLED_BY_DEFAULT};
 
+// Enables additional contextual entry points to privacy settings.
+const base::Feature kPrivacyAdvisor{"PrivacyAdvisor",
+                                    base::FEATURE_DISABLED_BY_DEFAULT};
+
 #if defined(OS_ANDROID)
 const base::Feature kPrivacyElevatedAndroid{"PrivacyElevatedAndroid",
                                             base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h
index 4f22f07..c9d1fc3 100644
--- a/chrome/common/chrome_features.h
+++ b/chrome/common/chrome_features.h
@@ -408,6 +408,9 @@
 COMPONENT_EXPORT(CHROME_FEATURES)
 extern const base::Feature kPrerenderFallbackToPreconnect;
 
+COMPONENT_EXPORT(CHROME_FEATURES)
+extern const base::Feature kPrivacyAdvisor;
+
 #if defined(OS_ANDROID)
 COMPONENT_EXPORT(CHROME_FEATURES)
 extern const base::Feature kPrivacyElevatedAndroid;