зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1782172: [Part 1] Support creating a Relation with a RemoteAccessible r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D153795
This commit is contained in:
Родитель
679f4cf339
Коммит
439d408a9e
|
@ -280,12 +280,15 @@ LocalAccessible* IDRefsIterator::Next() {
|
|||
// SingleAccIterator
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
LocalAccessible* SingleAccIterator::Next() {
|
||||
RefPtr<LocalAccessible> nextAcc;
|
||||
mAcc.swap(nextAcc);
|
||||
if (!nextAcc || nextAcc->IsDefunct()) {
|
||||
Accessible* SingleAccIterator::Next() {
|
||||
Accessible* nextAcc = mAcc;
|
||||
mAcc = nullptr;
|
||||
if (!nextAcc) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
MOZ_ASSERT(!nextAcc->IsLocal() || !nextAcc->AsLocal()->IsDefunct(),
|
||||
"Iterator references defunct accessible?");
|
||||
return nextAcc;
|
||||
}
|
||||
|
||||
|
|
|
@ -244,17 +244,17 @@ class IDRefsIterator : public AccIterable {
|
|||
*/
|
||||
class SingleAccIterator : public AccIterable {
|
||||
public:
|
||||
explicit SingleAccIterator(LocalAccessible* aTarget) : mAcc(aTarget) {}
|
||||
explicit SingleAccIterator(Accessible* aTarget) : mAcc(aTarget) {}
|
||||
virtual ~SingleAccIterator() {}
|
||||
|
||||
virtual LocalAccessible* Next() override;
|
||||
virtual Accessible* Next() override;
|
||||
|
||||
private:
|
||||
SingleAccIterator();
|
||||
SingleAccIterator(const SingleAccIterator&);
|
||||
SingleAccIterator& operator=(const SingleAccIterator&);
|
||||
|
||||
RefPtr<LocalAccessible> mAcc;
|
||||
Accessible* mAcc;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -24,7 +24,7 @@ class Relation {
|
|||
|
||||
explicit Relation(AccIterable* aIter) : mFirstIter(aIter), mLastIter(aIter) {}
|
||||
|
||||
explicit Relation(LocalAccessible* aAcc)
|
||||
explicit Relation(Accessible* aAcc)
|
||||
: mFirstIter(nullptr), mLastIter(nullptr) {
|
||||
AppendTarget(aAcc);
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ class Relation {
|
|||
/**
|
||||
* Append the given accessible to the set of related accessibles.
|
||||
*/
|
||||
inline void AppendTarget(LocalAccessible* aAcc) {
|
||||
inline void AppendTarget(Accessible* aAcc) {
|
||||
if (aAcc) AppendIter(new SingleAccIterator(aAcc));
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче