Bugzilla – Bug 558635
Translate the AutomationElement proerty value For the AutomationPropertyChangedEvent (UiaDbus)
Last modified: 2010-05-20 18:01:05 UTC
+++ This bug was initially created as a clone of Bug #558634 +++ When an AutomationPropertyChangedEvent is fired, the new/old value of the related automation property shall be also given. For most AutomationProperties, since their type are primitive types, or string, or enum, we can just pass the new/old values of those AutomationProperties from the provider end to the client end. However there're some other AutomationProperties are not just primitive types, string, or enum. So we need to do some serialize/deserialize/translation work to make the property value go through dbus and our various bridges. Luckily as I examined all the patterns, all of those AutomationProperties (which are not primitive types, string, or enum ) are of type AutomationElement, or AutomationElement[]. AutomationElement[] properties: TableItemPattern.ColumnHeaderItemsProperty TableItemPattern.RowHeaderItemsProperty TableItem.ColumnHeadersProperty TableItem.RowHeadersProperty SelectionPattern.SelectionProperty AutomationElement properties: GridItemPattern.ContainingGridProperty SelectionItemPattern.SelectionContainerProperty So we need to take additional care to provide new/old values of these AutomationProperties to the client end when corresponding AutomationPropertyChangedEvent are fired.
Make a note here: Another situation for us to take care of value transported over dbus: TextPatternRange.GetAttributeValue () where all supported attributes are listed in the "TextPattern Fields" MSDN topic. E.g. some attribute could be CultureInfo class, PageSettings class, or Color class. I'm not sure yet these attributes can survive over dbus.
Matt, what's the status on this bug? I thought you'd fixed some of these issues already?