Bug 558635

Summary: Translate the AutomationElement proerty value For the AutomationPropertyChangedEvent (UiaDbus)
Product: [Mono] UI Automation Reporter: Rui Guo <rguo>
Component: Client - UIAAssignee: E-mail List <mono-a11y-bugs>
Status: CONFIRMED --- QA Contact: E-mail List <mono-a11y-qa>
Severity: Normal    
Priority: P5 - None    
Version: Unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 559577    

Description Rui Guo 2009-11-26 08:02:19 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.
Comment 1 Rui Guo 2009-12-01 16:37:50 UTC
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.
Comment 2 Sanford Armstrong 2010-02-24 19:19:41 UTC
Matt, what's the status on this bug?  I thought you'd fixed some of these issues already?