bug 1305402 - add new IPC messages needed for AtkTableCell interface r=davidb

To implement the interface with 1 IPC message per method we need these new
messages.
This commit is contained in:
Trevor Saunders 2016-09-28 11:07:11 -04:00
Родитель 207fc51775
Коммит 743d490068
5 изменённых файлов: 63 добавлений и 0 удалений

Просмотреть файл

@ -175,10 +175,15 @@ uint32_t ColIdx();
uint32_t RowIdx();
void GetPosition(uint32_t* aColIdx, uint32_t* aRowIdx);
uint32_t ColExtent();
uint32_t RowExtent();
void GetColRowExtents(uint32_t* aColIdx, uint32_t* aRowIdx,
uint32_t* aColExtent, uint32_t* aRowExtent);
void ColHeaderCells(nsTArray<ProxyAccessible*>* aCells);
void RowHeaderCells(nsTArray<ProxyAccessible*>* aCells);

Просмотреть файл

@ -951,6 +951,41 @@ DocAccessibleChild::RecvRowIdx(const uint64_t& aID,
return true;
}
bool
DocAccessibleChild::RecvGetPosition(const uint64_t& aID,
uint32_t* aColIdx, uint32_t* aRowIdx)
{
*aColIdx = 0;
*aRowIdx = 0;
TableCellAccessible* acc = IdToTableCellAccessible(aID);
if (acc) {
*aColIdx = acc->ColIdx();
*aRowIdx = acc->RowIdx();
}
return true;
}
bool
DocAccessibleChild::RecvGetColRowExtents(const uint64_t& aID,
uint32_t* aColIdx, uint32_t* aRowIdx,
uint32_t* aColExtent, uint32_t* aRowExtent)
{
*aColIdx = 0;
*aRowIdx = 0;
*aColExtent = 0;
*aRowExtent = 0;
TableCellAccessible* acc = IdToTableCellAccessible(aID);
if (acc) {
*aColIdx = acc->ColIdx();
*aRowIdx = acc->RowIdx();
*aColExtent = acc->ColExtent();
*aRowExtent = acc->RowExtent();
}
return true;
}
bool
DocAccessibleChild::RecvColExtent(const uint64_t& aID,
uint32_t* aExtent)

Просмотреть файл

@ -259,6 +259,13 @@ public:
virtual bool RecvColExtent(const uint64_t& aID, uint32_t* aExtent) override;
virtual bool RecvGetPosition(const uint64_t& aID,
uint32_t* aColIdx, uint32_t* aRowIdx) override;
virtual bool RecvGetColRowExtents(const uint64_t& aID,
uint32_t* aColIdx, uint32_t* aRowIdx,
uint32_t* aColExtent, uint32_t* aRowExtent) override;
virtual bool RecvRowExtent(const uint64_t& aID, uint32_t* aExtent) override;
virtual bool RecvColHeaderCells(const uint64_t& aID,

Просмотреть файл

@ -173,8 +173,11 @@ child:
nested(inside_sync) sync TableOfACell(uint64_t aID) returns(uint64_t aTableID, bool aOk);
nested(inside_sync) sync ColIdx(uint64_t aID) returns(uint32_t aIndex);
nested(inside_sync) sync RowIdx(uint64_t aID) returns(uint32_t aIndex);
nested(inside_sync) sync GetPosition(uint64_t aID) returns(uint32_t aRow, uint32_t aCol);
nested(inside_sync) sync ColExtent(uint64_t aID) returns(uint32_t aExtent);
nested(inside_sync) sync RowExtent(uint64_t aID) returns(uint32_t aExtent);
nested(inside_sync) sync GetColRowExtents(uint64_t aID)
returns(uint32_t aCol, uint32_t aRow, uint32_t aColExtent, uint32_t aRowExtent);
nested(inside_sync) sync ColHeaderCells(uint64_t aID) returns(uint64_t[] aCells);
nested(inside_sync) sync RowHeaderCells(uint64_t aID) returns(uint64_t[] aCells);
nested(inside_sync) sync IsCellSelected(uint64_t aID) returns(bool aSelected);

Просмотреть файл

@ -517,6 +517,19 @@ ProxyAccessible::RowIdx()
return index;
}
void
ProxyAccessible::GetColRowExtents(uint32_t* aColIdx, uint32_t* aRowIdx,
uint32_t* aColExtent, uint32_t* aRowExtent)
{
mDoc->SendGetColRowExtents(mID, aColIdx, aRowIdx, aColExtent, aRowExtent);
}
void
ProxyAccessible::GetPosition(uint32_t* aColIdx, uint32_t* aRowIdx)
{
mDoc->SendGetPosition(mID, aColIdx, aRowIdx);
}
uint32_t
ProxyAccessible::ColExtent()
{