NS_IMETHODIMP xpcAccessibleHyperText::AddSelection(int32_t aStartOffset, int32_t aEndOffset) { HyperTextAccessible* text = static_cast<HyperTextAccessible*>(this); if (text->IsDefunct()) return NS_ERROR_FAILURE; text->AddToSelection(aStartOffset, aEndOffset); return NS_OK; }
STDMETHODIMP ia2AccessibleText::addSelection(long aStartOffset, long aEndOffset) { A11Y_TRYBLOCK_BEGIN HyperTextAccessible* textAcc = static_cast<HyperTextAccessibleWrap*>(this); if (textAcc->IsDefunct()) return CO_E_OBJNOTCONNECTED; return textAcc->AddToSelection(aStartOffset, aEndOffset) ? S_OK : E_INVALIDARG; A11Y_TRYBLOCK_END }
// set methods static gboolean addTextSelectionCB(AtkText *aText, gint aStartOffset, gint aEndOffset) { AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText)); if (accWrap) { HyperTextAccessible* text = accWrap->AsHyperText(); if (!text || !text->IsTextRole()) { return FALSE; } return text->AddToSelection(aStartOffset, aEndOffset); } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) { return proxy->AddToSelection(aStartOffset, aEndOffset); } return FALSE; }