Index: services/preferences/public/interfaces/preferences.mojom |
diff --git a/services/preferences/public/interfaces/preferences.mojom b/services/preferences/public/interfaces/preferences.mojom |
index 47a79dc538663c83bcbf39c83e5ee82d1f3f0a2c..75b8573f09d65d9871c6c4b1b1f6d6146fc8ec60 100644 |
--- a/services/preferences/public/interfaces/preferences.mojom |
+++ b/services/preferences/public/interfaces/preferences.mojom |
@@ -99,13 +99,27 @@ interface PrefStoreConnector { |
map<PrefStoreType, PrefStoreConnection> connections); |
}; |
+// An update to a subcomponent of a pref. |
+struct SubPrefUpdate { |
+ // The path to the changed value within the pref. |
+ array<string> path; |
+ // The new value; a null |value| indicates a delete. |
+ mojo.common.mojom.Value? value; |
+}; |
+ |
+union PrefUpdateValue { |
+ array<SubPrefUpdate> split_updates; |
+ // An atomic update to the pref. A null |atomic_update| indicates a delete. |
+ mojo.common.mojom.Value? atomic_update; |
+}; |
+ |
// An update to a pref. |
struct PrefUpdate { |
// The key of the pref being updated. |
string key; |
- // The new value; a null |value| indicates a delete. |
- mojo.common.mojom.Value? value; |
- //|flags| is a bitmask of WritablePrefStore::PrefWriteFlags. |
+ // The value update. |
+ PrefUpdateValue value; |
+ // |flags| is a bitmask of WritablePrefStore::PrefWriteFlags. |
uint32 flags; |
}; |