Bug 918535 - Update focus state in UIABridge when focus moves to non-editable content. Addresses double-tap required to dismiss soft keyboard on start tab. f=rsilveira r=bbondy

This commit is contained in:
Jim Mathies 2013-09-30 14:20:38 -05:00
parent e35ed0705d
commit db01e8a66a

View File

@ -169,6 +169,26 @@ HRESULT
UIABridge::FocusChangeEvent()
{
LogFunction();
if (!Connected()) {
return UIA_E_ELEMENTNOTAVAILABLE;
}
nsCOMPtr<nsIAccessible> child;
mAccessible->GetFocusedChild(getter_AddRefs(child));
if (!child) {
return S_OK;
}
if (!ChildHasFocus(child)) {
ComPtr<IUIAElement> element;
gElement.As(&element);
if (!element) {
return S_OK;
}
element->ClearFocus();
UiaRaiseAutomationEvent(this, UIA_AutomationFocusChangedEventId);
}
return S_OK;
}