Bug 175815. Accessibiltiy API's: don't fire MENUPOPUPSTART or MENUPOPUPEND events for HTML/XUL comboboxes. r=kyle, sr=alecf, a=dbaron

This commit is contained in:
aaronl%netscape.com 2002-10-25 02:50:24 +00:00
Родитель 278168fc7c
Коммит 1b04c14c58
1 изменённых файлов: 14 добавлений и 4 удалений

Просмотреть файл

@ -601,10 +601,6 @@ NS_IMETHODIMP nsRootAccessible::HandleEvent(nsIDOMEvent* aEvent)
mListener->HandleEvent(nsIAccessibleEventListener::EVENT_STATE_CHANGE, accessible, nsnull);
}
}
else if (eventType.EqualsIgnoreCase("popupshowing"))
mListener->HandleEvent(nsIAccessibleEventListener::EVENT_MENUPOPUPSTART, accessible, nsnull);
else if (eventType.EqualsIgnoreCase("popuphiding"))
mListener->HandleEvent(nsIAccessibleEventListener::EVENT_MENUPOPUPEND, accessible, nsnull);
else if (eventType.EqualsIgnoreCase("DOMMenuBarActive"))
mListener->HandleEvent(nsIAccessibleEventListener::EVENT_MENUSTART, accessible, nsnull);
else if (eventType.EqualsIgnoreCase("DOMMenuBarInactive")) {
@ -615,6 +611,20 @@ NS_IMETHODIMP nsRootAccessible::HandleEvent(nsIDOMEvent* aEvent)
FireAccessibleFocusEvent(accessible, targetNode);
}
}
else {
// Menu popup events
PRUint32 menuEvent = 0;
if (eventType.EqualsIgnoreCase("popupshowing"))
menuEvent = nsIAccessibleEventListener::EVENT_MENUPOPUPSTART;
else if (eventType.EqualsIgnoreCase("popuphiding"))
menuEvent = nsIAccessibleEventListener::EVENT_MENUPOPUPEND;
if (menuEvent) {
PRUint32 role = ROLE_NOTHING;
accessible->GetAccRole(&role);
if (role == ROLE_MENUPOPUP)
mListener->HandleEvent(menuEvent, accessible, nsnull);
}
}
#else
AtkStateChange stateData;
AtkTextChange textData;