const gchar* getNameCB(AtkObject* aAtkObj) { AccessibleWrap* accWrap = GetAccessibleWrap(aAtkObj); if (!accWrap) return nullptr; nsAutoString name; accWrap->Name(name); // XXX Firing an event from here does not seem right MaybeFireNameChange(aAtkObj, name); return aAtkObj->name; }
const gchar* getNameCB(AtkObject* aAtkObj) { AccessibleWrap* accWrap = GetAccessibleWrap(aAtkObj); if (!accWrap) return nsnull; nsAutoString uniName; accWrap->Name(uniName); NS_ConvertUTF8toUTF16 objName(aAtkObj->name); if (!uniName.Equals(objName)) atk_object_set_name(aAtkObj, NS_ConvertUTF16toUTF8(uniName).get()); return aAtkObj->name; }
const gchar* getNameCB(AtkObject* aAtkObj) { nsAutoString name; AccessibleWrap* accWrap = GetAccessibleWrap(aAtkObj); if (accWrap) accWrap->Name(name); else if (ProxyAccessible* proxy = GetProxy(aAtkObj)) proxy->Name(name); else return nullptr; // XXX Firing an event from here does not seem right MaybeFireNameChange(aAtkObj, name); return aAtkObj->name; }
void DocAccessibleWrap::CacheFocusPath(AccessibleWrap* aAccessible) { mFocusPath.Clear(); if (IPCAccessibilityActive()) { DocAccessibleChild* ipcDoc = IPCDoc(); nsTArray<BatchData> cacheData; for (AccessibleWrap* acc = aAccessible; acc && acc != this->Parent(); acc = static_cast<AccessibleWrap*>(acc->Parent())) { auto uid = acc->IsDoc() && acc->AsDoc()->IPCDoc() ? 0 : reinterpret_cast<uint64_t>(acc->UniqueID()); nsAutoString name; acc->Name(name); nsAutoString textValue; acc->Value(textValue); nsAutoString nodeID; acc->WrapperDOMNodeID(nodeID); nsCOMPtr<nsIPersistentProperties> props = acc->Attributes(); nsTArray<Attribute> attributes; nsAccUtils::PersistentPropertiesToArray(props, &attributes); cacheData.AppendElement(BatchData( acc->Document()->IPCDoc(), uid, acc->State(), acc->Bounds(), acc->ActionCount(), name, textValue, nodeID, acc->CurValue(), acc->MinValue(), acc->MaxValue(), acc->Step(), attributes)); mFocusPath.Put(acc->UniqueID(), acc); } ipcDoc->SendBatch(eBatch_FocusPath, cacheData); } else if (SessionAccessibility* sessionAcc = SessionAccessibility::GetInstanceFor(this)) { nsTArray<AccessibleWrap*> accessibles; for (AccessibleWrap* acc = aAccessible; acc && acc != this->Parent(); acc = static_cast<AccessibleWrap*>(acc->Parent())) { accessibles.AppendElement(acc); } sessionAcc->ReplaceFocusPathCache(accessibles); } }