Add CloudProfileReportingEnabled policy
The policy will control the user based profile reporting.
Also update the CloudReportingEnabled policy to meet the modern policy
best practice.
Bug: 1261945
Change-Id: If90425f6c52730aa041b69f7393741f9855e086b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3388181
Reviewed-by: Fabio Tirelo <[email protected]>
Reviewed-by: Dominic Battré <[email protected]>
Commit-Queue: Owen Min <[email protected]>
Cr-Commit-Position: refs/heads/main@{#961602}
diff --git a/chrome/browser/enterprise/reporting/prefs.cc b/chrome/browser/enterprise/reporting/prefs.cc
index f26fe87..f75e0c2 100644
--- a/chrome/browser/enterprise/reporting/prefs.cc
+++ b/chrome/browser/enterprise/reporting/prefs.cc
@@ -30,6 +30,7 @@
}
void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
+ registry->RegisterBooleanPref(kCloudProfileReportingEnabled, false);
#if !BUILDFLAG(IS_ANDROID)
registry->RegisterBooleanPref(prefs::kCloudExtensionRequestEnabled, false);
registry->RegisterDictionaryPref(prefs::kCloudExtensionRequestIds);
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
index 66836b4..50138e58 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -66,6 +66,7 @@
#include "components/custom_handlers/pref_names.h"
#include "components/data_reduction_proxy/core/common/data_reduction_proxy_pref_names.h"
#include "components/embedder_support/pref_names.h"
+#include "components/enterprise/browser/reporting/cloud_profile_reporting_policy_handler.h"
#include "components/enterprise/browser/reporting/cloud_reporting_policy_handler.h"
#include "components/enterprise/browser/reporting/common_pref_names.h"
#include "components/enterprise/content/copy_prevention_settings_policy_handler.h"
@@ -1645,6 +1646,9 @@
handlers->AddHandler(std::make_unique<DefaultSearchPolicyHandler>());
handlers->AddHandler(
std::make_unique<enterprise_reporting::CloudReportingPolicyHandler>());
+ handlers->AddHandler(
+ std::make_unique<
+ enterprise_reporting::CloudProfileReportingPolicyHandler>());
handlers->AddHandler(std::make_unique<ForceSafeSearchPolicyHandler>());
handlers->AddHandler(std::make_unique<ForceYouTubeSafetyModePolicyHandler>());
handlers->AddHandler(std::make_unique<IncognitoModePolicyHandler>());
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index e30e8d33..3ae5f0a 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -1199,6 +1199,7 @@
chrome_browser_net::NetErrorTabHelper::RegisterProfilePrefs(registry);
chrome_prefs::RegisterProfilePrefs(registry);
DocumentProvider::RegisterProfilePrefs(registry);
+ enterprise_reporting::RegisterProfilePrefs(registry);
dom_distiller::DistilledPagePrefs::RegisterProfilePrefs(registry);
dom_distiller::RegisterProfilePrefs(registry);
DownloadPrefs::RegisterProfilePrefs(registry);
@@ -1335,7 +1336,6 @@
DevToolsWindow::RegisterProfilePrefs(registry);
DriveService::RegisterProfilePrefs(registry);
enterprise_connectors::RegisterProfilePrefs(registry);
- enterprise_reporting::RegisterProfilePrefs(registry);
extensions::CommandService::RegisterProfilePrefs(registry);
extensions::TabsCaptureVisibleTabFunction::RegisterProfilePrefs(registry);
FeaturePromoSnoozeService::RegisterProfilePrefs(registry);
diff --git a/chrome/test/data/policy/policy_test_cases.json b/chrome/test/data/policy/policy_test_cases.json
index 0b9d15d..204f9f9 100644
--- a/chrome/test/data/policy/policy_test_cases.json
+++ b/chrome/test/data/policy/policy_test_cases.json
@@ -14541,7 +14541,8 @@
"linux",
"mac",
"chromeos_ash",
- "chromeos_lacros"
+ "chromeos_lacros",
+ "android"
],
"policy_pref_mapping_tests": [
{
@@ -14556,11 +14557,67 @@
}
]
},
- "CloudReportingEnabled.Android": {
+ "CloudProfileReportingEnabled": {
"os": [
+ "win",
+ "linux",
+ "mac",
+ "chromeos_lacros",
"android"
],
- "reason_for_missing_test": "TODO(http://crbug.com/1141521): enable this policy test on Android"
+ "policy_pref_mapping_tests": [
+ {
+ "policies": {
+ "CloudProfileReportingEnabled": true
+ },
+ "policies_settings": {
+ "CloudProfileReportingEnabled": {
+ "scope": "user",
+ "source": "cloud"
+ }
+ },
+ "prefs": {
+ "enterprise_reporting.chrome_profile_cloud_reporting": {
+ "location": "user_profile",
+ "value": true
+ }
+ }
+ },
+ {
+ "policies": {
+ "CloudProfileReportingEnabled": true
+ },
+ "policies_settings": {
+ "CloudProfileReportingEnabled": {
+ "scope": "machine",
+ "source": "cloud"
+ }
+ },
+ "prefs": {
+ "enterprise_reporting.chrome_profile_cloud_reporting": {
+ "location": "user_profile",
+ "default_value": false
+ }
+ }
+ },
+ {
+ "policies": {
+ "CloudProfileReportingEnabled": true
+ },
+ "policies_settings": {
+ "CloudProfileReportingEnabled": {
+ "scope": "user",
+ "source": "platform"
+ }
+ },
+ "prefs": {
+ "enterprise_reporting.chrome_profile_cloud_reporting": {
+ "location": "user_profile",
+ "default_value": false
+ }
+ }
+ }
+ ]
},
"VpnConfigAllowed": {
"os": [