Index: services/preferences/public/interfaces/preferences_configuration.mojom |
diff --git a/services/preferences/public/interfaces/preferences_configuration.mojom b/services/preferences/public/interfaces/preferences_configuration.mojom |
index 3ddd8234cb02a8b30b0960e423cfa8bccaf0fb33..d2bd39a88011699517100e74c1b13b3ff20994df 100644 |
--- a/services/preferences/public/interfaces/preferences_configuration.mojom |
+++ b/services/preferences/public/interfaces/preferences_configuration.mojom |
@@ -13,3 +13,28 @@ union PersistentPrefStoreConfiguration { |
struct SimplePersistentPrefStoreConfiguration { |
mojo.common.mojom.FilePath pref_filename; |
}; |
+ |
+struct TrackedPreferenceMetadata { |
+ enum EnforcementLevel { NO_ENFORCEMENT, ENFORCE_ON_LOAD }; |
+ |
+ enum PrefTrackingStrategy { |
+ // Atomic preferences are tracked as a whole. |
+ ATOMIC, |
+ // Split preferences are dictionaries for which each top-level entry is |
+ // tracked independently. Note: preferences using this strategy must be kept |
+ // in sync with TrackedSplitPreferences in histograms.xml. |
+ SPLIT, |
+ }; |
+ |
+ enum ValueType { |
+ IMPERSONAL, |
+ // The preference value may contain personal information. |
+ PERSONAL, |
+ }; |
+ |
+ uint64 reporting_id; |
+ string name; |
+ EnforcementLevel enforcement_level; |
+ PrefTrackingStrategy strategy; |
+ ValueType value_type; |
+}; |