Date: 2009-12-09 18:06:04 -0800 (Wed, 09 Dec 2009)
Dealt with issues involving accessibility and skin parts.
1. The accessibility implementation classes for four Spark components -- ComboBox, NumericStepper, TitleWindow, and VideoPlayer -- need to listen to events dispatched from skin parts. The problems were:
a) Skin parts may not exist at the time that the acc impl constructor executes, which is when we were doing addEventListener() on them. This is now fixed by consistently having null checks.
b) Skin parts may come and go at any later time. We now cope with this by having the acc impls listen for "partAdded" and "partRemoved" events from the component. When they discover that a skin part they want to listen to is being added, they now call addEventListener(), and when a skin part is removed they call removeEventListener().
2. The accessibility implementation classes for two Spark components -- Panel and TitleWindow -- actually get attached to a skin part (the titleDisplay) rather than to the component. Since we do this in createAccessibilityImplementation(), it's a problem if this happens before the titleDisplay exists. So instead of calling createAccessibilityImplementation() from initializeAccessibiility(), these components now call it from partAdded(). They also remove the acc impl if the titleDisplay is removed. Finally, there is some logic to prevent the partAdded() method of TitleWindow, which is a subclass of Panel, from creating both a PanelAccImpl and a TitleWindowAccImpl.
QE notes: None
Doc notes: None
Tests run: checkintests
Is noteworthy for integration: No