From ed7112af706951f16f0c0ecf5ceaa5c46c52c5ef Mon Sep 17 00:00:00 2001 From: Trevor Saunders Date: Fri, 22 Jan 2016 05:49:30 -0500 Subject: [PATCH] bug 1243077 - make it possible to get MaiAtkObject::mAccWrap from an AtkObject* without casting to Accessible* or ProxyAccessible* r=davidb --- accessible/atk/AccessibleWrap.cpp | 11 ++++++++--- accessible/atk/nsMai.h | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/accessible/atk/AccessibleWrap.cpp b/accessible/atk/AccessibleWrap.cpp index 3987930edf0..2c1db4cb143 100644 --- a/accessible/atk/AccessibleWrap.cpp +++ b/accessible/atk/AccessibleWrap.cpp @@ -1088,11 +1088,16 @@ GetAccessibleWrap(AtkObject* aAtkObj) ProxyAccessible* GetProxy(AtkObject* aObj) { - if (!aObj || !IS_MAI_OBJECT(aObj) || - !MAI_ATK_OBJECT(aObj)->accWrap.IsProxy()) + return GetInternalObj(aObj).AsProxy(); +} + +AccessibleOrProxy +GetInternalObj(AtkObject* aObj) +{ + if (!aObj || !IS_MAI_OBJECT(aObj)) return nullptr; - return MAI_ATK_OBJECT(aObj)->accWrap.AsProxy(); + return MAI_ATK_OBJECT(aObj)->accWrap; } AtkObject* diff --git a/accessible/atk/nsMai.h b/accessible/atk/nsMai.h index 2e814df7ce6..76b7f260dc5 100644 --- a/accessible/atk/nsMai.h +++ b/accessible/atk/nsMai.h @@ -67,6 +67,7 @@ typedef struct _MaiAtkSocketClass mozilla::a11y::AccessibleWrap* GetAccessibleWrap(AtkObject* aAtkObj); mozilla::a11y::ProxyAccessible* GetProxy(AtkObject* aAtkObj); +mozilla::a11y::AccessibleOrProxy GetInternalObj(AtkObject* aObj); AtkObject* GetWrapperFor(mozilla::a11y::ProxyAccessible* aProxy); extern int atkMajorVersion, atkMinorVersion;