Files
tubestation/accessible/atk/nsMaiInterfaceAction.cpp
James Teh 9d71e92d3b Bug 1821957: Remove RemoteAccessible methods which are already supported by RemoteAccessibleBase/CachedTableAccessible/CachedTableCellAccessible or are no longer used. r=eeejay,ipc-reviewers,mccr8
This removes the following RemoteAccessible methods:

Name
Value
Step
Description
Help
State
Bounds
BoundsInCSSPixels
Language
Attributes
RelationByType
CurValue
MinValue
MaxValue
OffsetAtPoint
TextSubstring
TextBeforeOffset
TextAtOffset
TextAfterOffset
RemoveFromSelection
CaretOffset
SetCaretOffset
ScrollSubstringTo
DOMNodeID
TakeFocus
ChildAtPoint
GroupPosition
SetSelectionBoundsAt
IsSearchbox
LandmarkRole
CharacterCount
SelectionCount
CharAt
TextAttributes
DefaultTextAttributes
TextBounds
CharBounds
SelectionBoundsAt
Text
StartOffset
EndOffset
LinkCount
LinkIndexAtOffset
TableIsProbablyForLayout
SelectedItems
SelectedItemCount
GetSelectedItem
IsItemSelected
AddItemToSelection
RemoveItemFromSelection
SelectAll
UnselectAll
DoAction
ActionCount
ActionNameAt
AccessKey
Extents
AtkKeyBinding
NativeState
Relations
ImagePosition
ImageSize
TableSummary
TableRowAndColumnIndicesAt
TableSelectedCellCount
TableSelectedColumnCount
TableSelectedRowCount
TableSelectedCells
TableSelectedCellIndices
TableOfACell
ColIdx
RowIdx
GetPosition
ColExtent
RowExtent
GetColRowExtents
ColHeaderCells
RowHeaderCells
IsCellSelected
TableCaption
TableColumnCount
TableRowCount
TableCellAt
TableCellIndexAt
TableColumnIndexAt
TableRowIndexAt
TableColumnExtentAt
TableRowExtentAt
TableColumnDescription
TableRowDescription
TableColumnSelected
TableRowSelected
TableSelectedColumnIndices
TableSelectedRowIndices
TableSelectColumn
TableSelectRow
TableUnselectColumn
TableUnselectRow
AtkTableColumnHeader
AtkTableRowHeader

Differential Revision: https://phabricator.services.mozilla.com/D177873
2023-05-21 02:44:36 +00:00

84 lines
2.3 KiB
C++

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "InterfaceInitFuncs.h"
#include "LocalAccessible-inl.h"
#include "nsMai.h"
#include "mozilla/Likely.h"
#include "nsAccessibilityService.h"
#include "RemoteAccessible.h"
#include "nsString.h"
using namespace mozilla;
using namespace mozilla::a11y;
extern "C" {
static gboolean doActionCB(AtkAction* aAction, gint aActionIndex) {
AtkObject* atkObject = ATK_OBJECT(aAction);
if (Accessible* acc = GetInternalObj(atkObject)) {
return acc->DoAction(aActionIndex);
}
return false;
}
static gint getActionCountCB(AtkAction* aAction) {
AtkObject* atkObject = ATK_OBJECT(aAction);
if (Accessible* acc = GetInternalObj(atkObject)) {
return acc->ActionCount();
}
return 0;
}
static const gchar* getActionDescriptionCB(AtkAction* aAction,
gint aActionIndex) {
AtkObject* atkObject = ATK_OBJECT(aAction);
nsAutoString description;
if (Accessible* acc = GetInternalObj(atkObject)) {
acc->ActionDescriptionAt(aActionIndex, description);
return AccessibleWrap::ReturnString(description);
}
return nullptr;
}
static const gchar* getActionNameCB(AtkAction* aAction, gint aActionIndex) {
AtkObject* atkObject = ATK_OBJECT(aAction);
nsAutoString autoStr;
if (Accessible* acc = GetInternalObj(atkObject)) {
acc->ActionNameAt(aActionIndex, autoStr);
return AccessibleWrap::ReturnString(autoStr);
}
return nullptr;
}
static const gchar* getKeyBindingCB(AtkAction* aAction, gint aActionIndex) {
Accessible* acc = GetInternalObj(ATK_OBJECT(aAction));
if (!acc) {
return nullptr;
}
nsAutoString keyBindingsStr;
AccessibleWrap::GetKeyBinding(acc, keyBindingsStr);
return AccessibleWrap::ReturnString(keyBindingsStr);
}
}
void actionInterfaceInitCB(AtkActionIface* aIface) {
NS_ASSERTION(aIface, "Invalid aIface");
if (MOZ_UNLIKELY(!aIface)) return;
aIface->do_action = doActionCB;
aIface->get_n_actions = getActionCountCB;
aIface->get_description = getActionDescriptionCB;
aIface->get_keybinding = getKeyBindingCB;
aIface->get_name = getActionNameCB;
}