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 d2bd39a88011699517100e74c1b13b3ff20994df..76f7785ae06a260085906affae6da2a8f2462a5b 100644 |
--- a/services/preferences/public/interfaces/preferences_configuration.mojom |
+++ b/services/preferences/public/interfaces/preferences_configuration.mojom |
@@ -5,15 +5,33 @@ |
module prefs.mojom; |
import "mojo/common/file_path.mojom"; |
+import "mojo/common/string16.mojom"; |
+import "services/preferences/public/interfaces/tracked_preference_validation_delegate.mojom"; |
union PersistentPrefStoreConfiguration { |
SimplePersistentPrefStoreConfiguration simple_configuration; |
+ TrackedPersistentPrefStoreConfiguration tracked_configuration; |
}; |
struct SimplePersistentPrefStoreConfiguration { |
mojo.common.mojom.FilePath pref_filename; |
}; |
+// These parameters are passed to prefs::CreateTrackedPersistentPrefStore() in |
+// services/preferences/persistent_pref_store_factory.cc. |
+struct TrackedPersistentPrefStoreConfiguration { |
+ mojo.common.mojom.FilePath unprotected_pref_filename; |
+ mojo.common.mojom.FilePath protected_pref_filename; |
+ array<TrackedPreferenceMetadata> tracking_configuration; |
+ uint64 reporting_ids_count; |
+ string seed; |
+ string legacy_device_id; |
+ string registry_seed; |
+ mojo.common.mojom.String16 registry_path; |
+ TrackedPreferenceValidationDelegate? validation_delegate; |
+ ResetOnLoadObserver? reset_on_load_observer; |
+}; |
+ |
struct TrackedPreferenceMetadata { |
enum EnforcementLevel { NO_ENFORCEMENT, ENFORCE_ON_LOAD }; |
@@ -38,3 +56,7 @@ struct TrackedPreferenceMetadata { |
PrefTrackingStrategy strategy; |
ValueType value_type; |
}; |
+ |
+interface ResetOnLoadObserver { |
+ OnResetOnLoad(); |
+}; |