mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
bug 1164976 - move AccessibleWrap::FireStateChangeEvent to be a member of MaiAtkObject r=davidb
This commit is contained in:
parent
7669581ac8
commit
51d2c1b7ac
@ -1128,7 +1128,12 @@ AccessibleWrap::HandleAccEvent(AccEvent* aEvent)
|
||||
|
||||
switch (type) {
|
||||
case nsIAccessibleEvent::EVENT_STATE_CHANGE:
|
||||
return FireAtkStateChangeEvent(aEvent, atkObj);
|
||||
{
|
||||
AccStateChangeEvent* event = downcast_accEvent(aEvent);
|
||||
MAI_ATK_OBJECT(atkObj)->FireStateChangeEvent(event->GetState(),
|
||||
event->IsStateEnabled());
|
||||
break;
|
||||
}
|
||||
|
||||
case nsIAccessibleEvent::EVENT_TEXT_REMOVED:
|
||||
case nsIAccessibleEvent::EVENT_TEXT_INSERTED:
|
||||
@ -1380,15 +1385,10 @@ a11y::ProxyEvent(ProxyAccessible* aTarget, uint32_t aEventType)
|
||||
}
|
||||
}
|
||||
|
||||
nsresult
|
||||
AccessibleWrap::FireAtkStateChangeEvent(AccEvent* aEvent,
|
||||
AtkObject* aObject)
|
||||
void
|
||||
MaiAtkObject::FireStateChangeEvent(uint64_t aState, bool aEnabled)
|
||||
{
|
||||
AccStateChangeEvent* event = downcast_accEvent(aEvent);
|
||||
NS_ENSURE_TRUE(event, NS_ERROR_FAILURE);
|
||||
|
||||
bool isEnabled = event->IsStateEnabled();
|
||||
int32_t stateIndex = AtkStateMap::GetStateIndexFor(event->GetState());
|
||||
int32_t stateIndex = AtkStateMap::GetStateIndexFor(aState);
|
||||
if (stateIndex >= 0) {
|
||||
NS_ASSERTION(gAtkStateMap[stateIndex].stateMapEntryType != kNoSuchState,
|
||||
"No such state");
|
||||
@ -1398,16 +1398,14 @@ AccessibleWrap::FireAtkStateChangeEvent(AccEvent* aEvent,
|
||||
"State changes should not fired for this state");
|
||||
|
||||
if (gAtkStateMap[stateIndex].stateMapEntryType == kMapOpposite)
|
||||
isEnabled = !isEnabled;
|
||||
aEnabled = !aEnabled;
|
||||
|
||||
// Fire state change for first state if there is one to map
|
||||
atk_object_notify_state_change(aObject,
|
||||
atk_object_notify_state_change(&parent,
|
||||
gAtkStateMap[stateIndex].atkState,
|
||||
isEnabled);
|
||||
aEnabled);
|
||||
}
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
|
@ -76,6 +76,11 @@ struct MaiAtkObject
|
||||
* Shutdown this AtkObject.
|
||||
*/
|
||||
void Shutdown();
|
||||
|
||||
/*
|
||||
* Notify atk of a state change on this AtkObject.
|
||||
*/
|
||||
void FireStateChangeEvent(uint64_t aState, bool aEnabled);
|
||||
};
|
||||
|
||||
#endif /* __NS_MAI_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user