bool DocAccessibleParent::RecvEvent(const uint64_t& aID, const uint32_t& aEventType) { ProxyAccessible* proxy = GetAccessible(aID); if (!proxy) { NS_ERROR("no proxy for event!"); return true; } ProxyEvent(proxy, aEventType); if (!nsCoreUtils::AccEventObserversExist()) { return true; } xpcAccessibleGeneric* xpcAcc = GetXPCAccessible(proxy); xpcAccessibleDocument* doc = GetAccService()->GetXPCDocument(this); nsIDOMNode* node = nullptr; bool fromUser = true; // XXX fix me RefPtr<xpcAccEvent> event = new xpcAccEvent(aEventType, xpcAcc, doc, node, fromUser); nsCoreUtils::DispatchAccEvent(Move(event)); return true; }
bool DocAccessibleParent::RecvEvent(const uint64_t& aID, const uint32_t& aEventType) { if (!aID) { ProxyEvent(this, aEventType); return true; } ProxyEntry* e = mAccessibles.GetEntry(aID); if (!e) { NS_ERROR("no proxy for event!"); return true; } ProxyEvent(e->mProxy, aEventType); return true; }