diff --git a/accessible/base/AccessibleOrProxy.h b/accessible/base/AccessibleOrProxy.h index 0aa0013b6706..bb243593cd87 100644 --- a/accessible/base/AccessibleOrProxy.h +++ b/accessible/base/AccessibleOrProxy.h @@ -22,6 +22,14 @@ namespace a11y { */ class AccessibleOrProxy { public: + // XXX: A temporary constructor to aid in the transition to + // an Accessible base class. + MOZ_IMPLICIT AccessibleOrProxy(Accessible* aAcc) + : mBits(aAcc ? (aAcc->IsRemote() + ? reinterpret_cast(aAcc->AsRemote()) | + IS_PROXY + : reinterpret_cast(aAcc->AsLocal())) + : 0) {} MOZ_IMPLICIT AccessibleOrProxy(LocalAccessible* aAcc) : mBits(reinterpret_cast(aAcc)) {} MOZ_IMPLICIT AccessibleOrProxy(RemoteAccessible* aProxy) diff --git a/accessible/base/nsAccessiblePivot.cpp b/accessible/base/nsAccessiblePivot.cpp index e7f07a27a150..600a2f65c00a 100644 --- a/accessible/base/nsAccessiblePivot.cpp +++ b/accessible/base/nsAccessiblePivot.cpp @@ -527,8 +527,18 @@ uint16_t RuleCache::Match(const AccessibleOrProxy& aAccOrProxy) { } uint16_t matchResult = nsIAccessibleTraversalRule::FILTER_IGNORE; - DebugOnly rv = mRule->Match(ToXPC(aAccOrProxy), &matchResult); - MOZ_ASSERT(NS_SUCCEEDED(rv)); + + // XXX: ToXPC takes an Accessible. This can go away when pivot + // removes AoP too. + if (aAccOrProxy.IsProxy()) { + DebugOnly rv = + mRule->Match(ToXPC(aAccOrProxy.AsProxy()), &matchResult); + MOZ_ASSERT(NS_SUCCEEDED(rv)); + } else { + DebugOnly rv = + mRule->Match(ToXPC(aAccOrProxy.AsAccessible()), &matchResult); + MOZ_ASSERT(NS_SUCCEEDED(rv)); + } return result | matchResult; } diff --git a/accessible/ipc/DocAccessibleParent.cpp b/accessible/ipc/DocAccessibleParent.cpp index c746a5e6eaa9..f783a8f3cd18 100644 --- a/accessible/ipc/DocAccessibleParent.cpp +++ b/accessible/ipc/DocAccessibleParent.cpp @@ -807,7 +807,7 @@ xpcAccessibleGeneric* DocAccessibleParent::GetXPCAccessible( xpcAccessibleDocument* doc = GetAccService()->GetXPCDocument(this); MOZ_ASSERT(doc); - return doc->GetXPCAccessible(aProxy); + return doc->GetAccessible(aProxy); } #if defined(XP_WIN) diff --git a/accessible/xpcom/moz.build b/accessible/xpcom/moz.build index f45f3abcb230..feab787b5c8c 100644 --- a/accessible/xpcom/moz.build +++ b/accessible/xpcom/moz.build @@ -32,6 +32,7 @@ EXPORTS += [ LOCAL_INCLUDES += [ "/accessible/base", + "/accessible/basetypes", "/accessible/generic", ] diff --git a/accessible/xpcom/xpcAccessible.cpp b/accessible/xpcom/xpcAccessible.cpp index b364ddde2858..0acf104b6cd9 100644 --- a/accessible/xpcom/xpcAccessible.cpp +++ b/accessible/xpcom/xpcAccessible.cpp @@ -29,9 +29,9 @@ NS_IMETHODIMP xpcAccessible::GetParent(nsIAccessible** aParent) { NS_ENSURE_ARG_POINTER(aParent); *aParent = nullptr; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - AccessibleOrProxy parent = IntlGeneric().Parent(); + Accessible* parent = IntlGeneric()->Parent(); NS_IF_ADDREF(*aParent = ToXPC(parent)); return NS_OK; } @@ -40,39 +40,22 @@ NS_IMETHODIMP xpcAccessible::GetNextSibling(nsIAccessible** aNextSibling) { NS_ENSURE_ARG_POINTER(aNextSibling); *aNextSibling = nullptr; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (IntlGeneric().IsAccessible()) { - nsresult rv = NS_OK; - NS_IF_ADDREF(*aNextSibling = ToXPC(Intl()->GetSiblingAtOffset(1, &rv))); - return rv; - } + NS_IF_ADDREF(*aNextSibling = ToXPC(IntlGeneric()->NextSibling())); - RemoteAccessible* proxy = IntlGeneric().AsProxy(); - NS_ENSURE_STATE(proxy); - - NS_IF_ADDREF(*aNextSibling = ToXPC(proxy->RemoteNextSibling())); - return *aNextSibling ? NS_OK : NS_ERROR_FAILURE; + return NS_OK; } NS_IMETHODIMP xpcAccessible::GetPreviousSibling(nsIAccessible** aPreviousSibling) { NS_ENSURE_ARG_POINTER(aPreviousSibling); *aPreviousSibling = nullptr; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (IntlGeneric().IsAccessible()) { - nsresult rv = NS_OK; - NS_IF_ADDREF(*aPreviousSibling = - ToXPC(Intl()->GetSiblingAtOffset(-1, &rv))); - return rv; - } + NS_IF_ADDREF(*aPreviousSibling = ToXPC(IntlGeneric()->PrevSibling())); - RemoteAccessible* proxy = IntlGeneric().AsProxy(); - NS_ENSURE_STATE(proxy); - - NS_IF_ADDREF(*aPreviousSibling = ToXPC(proxy->RemotePrevSibling())); - return *aPreviousSibling ? NS_OK : NS_ERROR_FAILURE; + return NS_OK; } NS_IMETHODIMP @@ -80,9 +63,9 @@ xpcAccessible::GetFirstChild(nsIAccessible** aFirstChild) { NS_ENSURE_ARG_POINTER(aFirstChild); *aFirstChild = nullptr; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - NS_IF_ADDREF(*aFirstChild = ToXPC(IntlGeneric().FirstChild())); + NS_IF_ADDREF(*aFirstChild = ToXPC(IntlGeneric()->FirstChild())); return NS_OK; } @@ -91,9 +74,9 @@ xpcAccessible::GetLastChild(nsIAccessible** aLastChild) { NS_ENSURE_ARG_POINTER(aLastChild); *aLastChild = nullptr; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - NS_IF_ADDREF(*aLastChild = ToXPC(IntlGeneric().LastChild())); + NS_IF_ADDREF(*aLastChild = ToXPC(IntlGeneric()->LastChild())); return NS_OK; } @@ -101,9 +84,9 @@ NS_IMETHODIMP xpcAccessible::GetChildCount(int32_t* aChildCount) { NS_ENSURE_ARG_POINTER(aChildCount); - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - *aChildCount = IntlGeneric().ChildCount(); + *aChildCount = IntlGeneric()->ChildCount(); return NS_OK; } @@ -112,14 +95,14 @@ xpcAccessible::GetChildAt(int32_t aChildIndex, nsIAccessible** aChild) { NS_ENSURE_ARG_POINTER(aChild); *aChild = nullptr; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; // If child index is negative, then return last child. // XXX: do we really need this? - if (aChildIndex < 0) aChildIndex = IntlGeneric().ChildCount() - 1; + if (aChildIndex < 0) aChildIndex = IntlGeneric()->ChildCount() - 1; - AccessibleOrProxy child = IntlGeneric().ChildAt(aChildIndex); - if (child.IsNull()) return NS_ERROR_INVALID_ARG; + Accessible* child = IntlGeneric()->ChildAt(aChildIndex); + if (!child) return NS_ERROR_INVALID_ARG; NS_ADDREF(*aChild = ToXPC(child)); return NS_OK; @@ -130,16 +113,16 @@ xpcAccessible::GetChildren(nsIArray** aChildren) { NS_ENSURE_ARG_POINTER(aChildren); *aChildren = nullptr; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; nsresult rv = NS_OK; nsCOMPtr children = do_CreateInstance(NS_ARRAY_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv, rv); - uint32_t childCount = IntlGeneric().ChildCount(); + uint32_t childCount = IntlGeneric()->ChildCount(); for (uint32_t childIdx = 0; childIdx < childCount; childIdx++) { - AccessibleOrProxy child = IntlGeneric().ChildAt(childIdx); + Accessible* child = IntlGeneric()->ChildAt(childIdx); children->AppendElement(static_cast(ToXPC(child))); } @@ -151,13 +134,9 @@ NS_IMETHODIMP xpcAccessible::GetIndexInParent(int32_t* aIndexInParent) { NS_ENSURE_ARG_POINTER(aIndexInParent); *aIndexInParent = -1; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (IntlGeneric().IsAccessible()) { - *aIndexInParent = Intl()->IndexInParent(); - } else if (IntlGeneric().IsProxy()) { - *aIndexInParent = IntlGeneric().AsProxy()->IndexInParent(); - } + *aIndexInParent = IntlGeneric()->IndexInParent(); return *aIndexInParent != -1 ? NS_OK : NS_ERROR_FAILURE; } @@ -166,12 +145,12 @@ NS_IMETHODIMP xpcAccessible::GetUniqueID(int64_t* aUniqueID) { NS_ENSURE_ARG_POINTER(aUniqueID); - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (IntlGeneric().IsAccessible()) { + if (IntlGeneric()->IsLocal()) { *aUniqueID = reinterpret_cast(Intl()->UniqueID()); - } else if (IntlGeneric().IsProxy()) { - *aUniqueID = IntlGeneric().AsProxy()->ID(); + } else if (IntlGeneric()->IsRemote()) { + *aUniqueID = IntlGeneric()->AsRemote()->ID(); } return NS_OK; @@ -192,7 +171,11 @@ xpcAccessible::GetDOMNode(nsINode** aDOMNode) { NS_IMETHODIMP xpcAccessible::GetId(nsAString& aID) { - RemoteAccessible* proxy = IntlGeneric().AsProxy(); + if (!IntlGeneric()) { + return NS_ERROR_FAILURE; + } + + RemoteAccessible* proxy = IntlGeneric()->AsRemote(); if (!proxy) { return NS_ERROR_FAILURE; } @@ -231,9 +214,9 @@ xpcAccessible::GetRole(uint32_t* aRole) { NS_ENSURE_ARG_POINTER(aRole); *aRole = nsIAccessibleRole::ROLE_NOTHING; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - *aRole = IntlGeneric().Role(); + *aRole = IntlGeneric()->Role(); return NS_OK; } @@ -241,12 +224,12 @@ NS_IMETHODIMP xpcAccessible::GetState(uint32_t* aState, uint32_t* aExtraState) { NS_ENSURE_ARG_POINTER(aState); - if (IntlGeneric().IsNull()) { + if (!IntlGeneric()) { nsAccUtils::To32States(states::DEFUNCT, aState, aExtraState); } else if (Intl()) { nsAccUtils::To32States(Intl()->State(), aState, aExtraState); } else { - nsAccUtils::To32States(IntlGeneric().AsProxy()->State(), aState, + nsAccUtils::To32States(IntlGeneric()->AsRemote()->State(), aState, aExtraState); } @@ -257,10 +240,10 @@ NS_IMETHODIMP xpcAccessible::GetName(nsAString& aName) { aName.Truncate(); - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; nsAutoString name; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { proxy->Name(name); } else { Intl()->Name(name); @@ -273,10 +256,10 @@ xpcAccessible::GetName(nsAString& aName) { NS_IMETHODIMP xpcAccessible::GetDescription(nsAString& aDescription) { - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; nsAutoString desc; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { proxy->Description(desc); } else { Intl()->Description(desc); @@ -289,10 +272,10 @@ xpcAccessible::GetDescription(nsAString& aDescription) { NS_IMETHODIMP xpcAccessible::GetLanguage(nsAString& aLanguage) { - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; nsAutoString lang; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { proxy->Language(lang); } else { Intl()->Language(lang); @@ -304,10 +287,10 @@ xpcAccessible::GetLanguage(nsAString& aLanguage) { NS_IMETHODIMP xpcAccessible::GetValue(nsAString& aValue) { - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; nsAutoString value; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { proxy->Value(value); } else { Intl()->Value(value); @@ -320,10 +303,10 @@ xpcAccessible::GetValue(nsAString& aValue) { NS_IMETHODIMP xpcAccessible::GetHelp(nsAString& aHelp) { - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; nsAutoString help; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else @@ -342,9 +325,9 @@ NS_IMETHODIMP xpcAccessible::GetAccessKey(nsAString& aAccessKey) { aAccessKey.Truncate(); - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else @@ -360,9 +343,9 @@ xpcAccessible::GetAccessKey(nsAString& aAccessKey) { NS_IMETHODIMP xpcAccessible::GetKeyboardShortcut(nsAString& aKeyBinding) { aKeyBinding.Truncate(); - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else @@ -379,7 +362,7 @@ xpcAccessible::GetAttributes(nsIPersistentProperties** aAttributes) { NS_ENSURE_ARG_POINTER(aAttributes); *aAttributes = nullptr; - if (IntlGeneric().IsNull()) { + if (!IntlGeneric()) { return NS_ERROR_FAILURE; } @@ -389,7 +372,7 @@ xpcAccessible::GetAttributes(nsIPersistentProperties** aAttributes) { return NS_OK; } - RemoteAccessible* proxy = IntlGeneric().AsProxy(); + RemoteAccessible* proxy = IntlGeneric()->AsRemote(); AutoTArray attrs; proxy->Attributes(&attrs); @@ -434,13 +417,13 @@ xpcAccessible::GetBounds(int32_t* aX, int32_t* aY, int32_t* aWidth, NS_ENSURE_ARG_POINTER(aHeight); *aHeight = 0; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; nsIntRect rect; - if (LocalAccessible* acc = IntlGeneric().AsAccessible()) { + if (LocalAccessible* acc = IntlGeneric()->AsLocal()) { rect = acc->Bounds(); } else { - rect = IntlGeneric().AsProxy()->Bounds(); + rect = IntlGeneric()->AsRemote()->Bounds(); } rect.GetRect(aX, aY, aWidth, aHeight); @@ -459,15 +442,15 @@ xpcAccessible::GetBoundsInCSSPixels(int32_t* aX, int32_t* aY, int32_t* aWidth, NS_ENSURE_ARG_POINTER(aHeight); *aHeight = 0; - if (IntlGeneric().IsNull()) { + if (!IntlGeneric()) { return NS_ERROR_FAILURE; } nsIntRect rect; - if (LocalAccessible* acc = IntlGeneric().AsAccessible()) { + if (LocalAccessible* acc = IntlGeneric()->AsLocal()) { rect = acc->BoundsInCSSPixels(); } else { - rect = IntlGeneric().AsProxy()->BoundsInCSSPixels(); + rect = IntlGeneric()->AsRemote()->BoundsInCSSPixels(); } rect.GetRect(aX, aY, aWidth, aHeight); @@ -488,13 +471,13 @@ xpcAccessible::GroupPosition(int32_t* aGroupLevel, *aPositionInGroup = 0; GroupPos groupPos; - if (LocalAccessible* acc = IntlGeneric().AsAccessible()) { + if (LocalAccessible* acc = IntlGeneric()->AsLocal()) { groupPos = acc->GroupPosition(); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - groupPos = IntlGeneric().AsProxy()->GroupPosition(); + groupPos = IntlGeneric()->AsRemote()->GroupPosition(); #endif } @@ -513,15 +496,15 @@ xpcAccessible::GetRelationByType(uint32_t aType, NS_ENSURE_ARG(aType <= static_cast(RelationType::LAST)); - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (IntlGeneric().IsAccessible()) { + if (IntlGeneric()->IsLocal()) { Relation rel = Intl()->RelationByType(static_cast(aType)); NS_ADDREF(*aRelation = new nsAccessibleRelation(aType, &rel)); return NS_OK; } - RemoteAccessible* proxy = IntlGeneric().AsProxy(); + RemoteAccessible* proxy = IntlGeneric()->AsRemote(); nsTArray targets = proxy->RelationByType(static_cast(aType)); NS_ADDREF(*aRelation = new nsAccessibleRelation(aType, &targets)); @@ -534,7 +517,7 @@ xpcAccessible::GetRelations(nsIArray** aRelations) { NS_ENSURE_ARG_POINTER(aRelations); *aRelations = nullptr; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; nsCOMPtr relations = do_CreateInstance(NS_ARRAY_CONTRACTID); NS_ENSURE_TRUE(relations, NS_ERROR_OUT_OF_MEMORY); @@ -582,9 +565,9 @@ xpcAccessible::GetFocusedChild(nsIAccessible** aChild) { NS_ENSURE_ARG_POINTER(aChild); *aChild = nullptr; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else @@ -603,9 +586,9 @@ xpcAccessible::GetChildAtPoint(int32_t aX, int32_t aY, NS_ENSURE_ARG_POINTER(aAccessible); *aAccessible = nullptr; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - NS_IF_ADDREF(*aAccessible = ToXPC(IntlGeneric().ChildAtPoint( + NS_IF_ADDREF(*aAccessible = ToXPC(IntlGeneric()->ChildAtPoint( aX, aY, Accessible::EWhichChildAtPoint::DirectChild))); return NS_OK; @@ -617,9 +600,9 @@ xpcAccessible::GetDeepestChildAtPoint(int32_t aX, int32_t aY, NS_ENSURE_ARG_POINTER(aAccessible); *aAccessible = nullptr; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - NS_IF_ADDREF(*aAccessible = ToXPC(IntlGeneric().ChildAtPoint( + NS_IF_ADDREF(*aAccessible = ToXPC(IntlGeneric()->ChildAtPoint( aX, aY, Accessible::EWhichChildAtPoint::DeepestChild))); return NS_OK; @@ -631,8 +614,8 @@ xpcAccessible::GetDeepestChildAtPointInProcess(int32_t aX, int32_t aY, NS_ENSURE_ARG_POINTER(aAccessible); *aAccessible = nullptr; - AccessibleOrProxy generic = IntlGeneric(); - if (generic.IsNull() || generic.IsProxy()) { + Accessible* generic = IntlGeneric(); + if (!generic || generic->IsRemote()) { return NS_ERROR_FAILURE; } @@ -643,9 +626,9 @@ xpcAccessible::GetDeepestChildAtPointInProcess(int32_t aX, int32_t aY, NS_IMETHODIMP xpcAccessible::SetSelected(bool aSelect) { - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else @@ -660,9 +643,9 @@ xpcAccessible::SetSelected(bool aSelect) { NS_IMETHODIMP xpcAccessible::TakeSelection() { - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else @@ -677,9 +660,9 @@ xpcAccessible::TakeSelection() { NS_IMETHODIMP xpcAccessible::TakeFocus() { - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { proxy->TakeFocus(); } else { Intl()->TakeFocus(); @@ -692,9 +675,9 @@ NS_IMETHODIMP xpcAccessible::GetActionCount(uint8_t* aActionCount) { NS_ENSURE_ARG_POINTER(aActionCount); *aActionCount = 0; - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else @@ -709,9 +692,9 @@ xpcAccessible::GetActionCount(uint8_t* aActionCount) { NS_IMETHODIMP xpcAccessible::GetActionName(uint8_t aIndex, nsAString& aName) { - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else @@ -730,9 +713,9 @@ xpcAccessible::GetActionName(uint8_t aIndex, nsAString& aName) { NS_IMETHODIMP xpcAccessible::GetActionDescription(uint8_t aIndex, nsAString& aDescription) { - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else @@ -751,9 +734,9 @@ xpcAccessible::GetActionDescription(uint8_t aIndex, nsAString& aDescription) { NS_IMETHODIMP xpcAccessible::DoAction(uint8_t aIndex) { - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else @@ -766,9 +749,9 @@ xpcAccessible::DoAction(uint8_t aIndex) { NS_IMETHODIMP xpcAccessible::ScrollTo(uint32_t aHow) { - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else @@ -784,9 +767,9 @@ xpcAccessible::ScrollTo(uint32_t aHow) { NS_IMETHODIMP xpcAccessible::ScrollToPoint(uint32_t aCoordinateType, int32_t aX, int32_t aY) { - if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE; + if (!IntlGeneric()) return NS_ERROR_FAILURE; - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else @@ -801,7 +784,7 @@ xpcAccessible::ScrollToPoint(uint32_t aCoordinateType, int32_t aX, int32_t aY) { NS_IMETHODIMP xpcAccessible::Announce(const nsAString& aAnnouncement, uint16_t aPriority) { - if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) { + if (RemoteAccessible* proxy = IntlGeneric()->AsRemote()) { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else diff --git a/accessible/xpcom/xpcAccessible.h b/accessible/xpcom/xpcAccessible.h index f190ede77197..185d2d1e0009 100644 --- a/accessible/xpcom/xpcAccessible.h +++ b/accessible/xpcom/xpcAccessible.h @@ -14,8 +14,8 @@ class nsIAccessible; namespace mozilla { namespace a11y { +class Accessible; class LocalAccessible; -class AccessibleOrProxy; /** * XPCOM nsIAccessible interface implementation, used by xpcAccessibleGeneric @@ -97,7 +97,7 @@ class xpcAccessible : public nsIAccessible { private: LocalAccessible* Intl(); - AccessibleOrProxy IntlGeneric(); + Accessible* IntlGeneric(); xpcAccessible(const xpcAccessible&) = delete; xpcAccessible& operator=(const xpcAccessible&) = delete; diff --git a/accessible/xpcom/xpcAccessibleApplication.h b/accessible/xpcom/xpcAccessibleApplication.h index 0a4ce2518418..432d0a07bb86 100644 --- a/accessible/xpcom/xpcAccessibleApplication.h +++ b/accessible/xpcom/xpcAccessibleApplication.h @@ -20,7 +20,7 @@ namespace a11y { class xpcAccessibleApplication : public xpcAccessibleGeneric, public nsIAccessibleApplication { public: - explicit xpcAccessibleApplication(LocalAccessible* aIntl) + explicit xpcAccessibleApplication(Accessible* aIntl) : xpcAccessibleGeneric(aIntl) {} NS_DECL_ISUPPORTS_INHERITED @@ -35,9 +35,7 @@ class xpcAccessibleApplication : public xpcAccessibleGeneric, virtual ~xpcAccessibleApplication() { Shutdown(); } private: - ApplicationAccessible* Intl() { - return mIntl.AsAccessible()->AsApplication(); - } + ApplicationAccessible* Intl() { return mIntl->AsLocal()->AsApplication(); } xpcAccessibleApplication(const xpcAccessibleApplication&) = delete; xpcAccessibleApplication& operator=(const xpcAccessibleApplication&) = delete; diff --git a/accessible/xpcom/xpcAccessibleDocument.cpp b/accessible/xpcom/xpcAccessibleDocument.cpp index 9fa56afb0e32..ec83b699e144 100644 --- a/accessible/xpcom/xpcAccessibleDocument.cpp +++ b/accessible/xpcom/xpcAccessibleDocument.cpp @@ -26,13 +26,12 @@ NS_IMETHODIMP_(MozExternalRefCountType) xpcAccessibleDocument::Release(void) { NS_LOG_RELEASE(this, r, "xpcAccessibleDocument"); // The only reference to the xpcAccessibleDocument is in DocManager's cache. - if (r == 1 && !mIntl.IsNull() && mCache.Count() == 0) { - if (mIntl.IsAccessible()) { - GetAccService()->RemoveFromXPCDocumentCache( - mIntl.AsAccessible()->AsDoc()); + if (r == 1 && !!mIntl && mCache.Count() == 0) { + if (mIntl->IsLocal()) { + GetAccService()->RemoveFromXPCDocumentCache(mIntl->AsLocal()->AsDoc()); } else { GetAccService()->RemoveFromRemoteXPCDocumentCache( - mIntl.AsProxy()->AsDoc()); + mIntl->AsRemote()->AsDoc()); } } return r; @@ -147,9 +146,16 @@ xpcAccessibleDocument::GetVirtualCursor(nsIAccessiblePivot** aVirtualCursor) { // xpcAccessibleDocument xpcAccessibleGeneric* xpcAccessibleDocument::GetAccessible( - LocalAccessible* aAccessible) { - MOZ_ASSERT(!mRemote); - if (ToXPCDocument(aAccessible->Document()) != this) { + Accessible* aAccessible) { + if (aAccessible->IsLocal() && + ToXPCDocument(aAccessible->AsLocal()->Document()) != this) { + NS_ERROR( + "This XPCOM document is not related with given internal accessible!"); + return nullptr; + } + + if (aAccessible->IsRemote() && + ToXPCDocument(aAccessible->AsRemote()->Document()) != this) { NS_ERROR( "This XPCOM document is not related with given internal accessible!"); return nullptr; @@ -175,35 +181,6 @@ xpcAccessibleGeneric* xpcAccessibleDocument::GetAccessible( }); } -xpcAccessibleGeneric* xpcAccessibleDocument::GetXPCAccessible( - RemoteAccessible* aProxy) { - MOZ_ASSERT(mRemote); - MOZ_ASSERT(aProxy->Document() == mIntl.AsProxy()); - if (aProxy->IsDoc()) { - return this; - } - - return mCache.LookupOrInsertWith(aProxy, [&]() -> xpcAccessibleGeneric* { - // XXX support exposing optional interfaces. - // XXX support exposing optional interfaces. - uint8_t interfaces = 0; - if (aProxy->HasNumericValue()) { - interfaces |= eValue; - } - - if (aProxy->IsLink()) { - interfaces |= eHyperLink; - } - - if (aProxy->IsHyperText()) { - interfaces |= eText; - return new xpcAccessibleHyperText(aProxy, interfaces); - } - - return new xpcAccessibleGeneric(aProxy, interfaces); - }); -} - void xpcAccessibleDocument::Shutdown() { for (auto iter = mCache.Iter(); !iter.Done(); iter.Next()) { iter.Data()->Shutdown(); @@ -211,16 +188,3 @@ void xpcAccessibleDocument::Shutdown() { } xpcAccessibleGeneric::Shutdown(); } - -xpcAccessibleGeneric* a11y::ToXPC(AccessibleOrProxy aAcc) { - if (aAcc.IsNull()) { - return nullptr; - } - - if (aAcc.IsAccessible()) { - return ToXPC(aAcc.AsAccessible()); - } - - xpcAccessibleDocument* doc = ToXPCDocument(aAcc.AsProxy()->Document()); - return doc->GetXPCAccessible(aAcc.AsProxy()); -} diff --git a/accessible/xpcom/xpcAccessibleDocument.h b/accessible/xpcom/xpcAccessibleDocument.h index b08377cf1016..8cfc77ea2f26 100644 --- a/accessible/xpcom/xpcAccessibleDocument.h +++ b/accessible/xpcom/xpcAccessibleDocument.h @@ -51,8 +51,7 @@ class xpcAccessibleDocument : public xpcAccessibleHyperText, /** * Return XPCOM wrapper for the internal accessible. */ - xpcAccessibleGeneric* GetAccessible(LocalAccessible* aAccessible); - xpcAccessibleGeneric* GetXPCAccessible(RemoteAccessible* aProxy); + xpcAccessibleGeneric* GetAccessible(Accessible* aAccessible); virtual void Shutdown() override; @@ -61,15 +60,14 @@ class xpcAccessibleDocument : public xpcAccessibleHyperText, private: DocAccessible* Intl() { - if (LocalAccessible* acc = mIntl.AsAccessible()) { + if (LocalAccessible* acc = mIntl->AsLocal()) { return acc->AsDoc(); } return nullptr; } - void NotifyOfShutdown(LocalAccessible* aAccessible) { - MOZ_ASSERT(!mRemote); + void NotifyOfShutdown(Accessible* aAccessible) { xpcAccessibleGeneric* xpcAcc = mCache.Get(aAccessible); if (xpcAcc) { xpcAcc->Shutdown(); @@ -77,22 +75,12 @@ class xpcAccessibleDocument : public xpcAccessibleHyperText, mCache.Remove(aAccessible); if (mCache.Count() == 0 && mRefCnt == 1) { - GetAccService()->RemoveFromXPCDocumentCache( - mIntl.AsAccessible()->AsDoc()); - } - } - - void NotifyOfShutdown(RemoteAccessible* aProxy) { - MOZ_ASSERT(mRemote); - xpcAccessibleGeneric* xpcAcc = mCache.Get(aProxy); - if (xpcAcc) { - xpcAcc->Shutdown(); - } - - mCache.Remove(aProxy); - if (mCache.Count() == 0 && mRefCnt == 1) { - GetAccService()->RemoveFromRemoteXPCDocumentCache( - mIntl.AsProxy()->AsDoc()); + if (mIntl->IsLocal()) { + GetAccService()->RemoveFromXPCDocumentCache(mIntl->AsLocal()->AsDoc()); + } else { + GetAccService()->RemoveFromRemoteXPCDocumentCache( + mIntl->AsRemote()->AsDoc()); + } } } @@ -109,18 +97,19 @@ class xpcAccessibleDocument : public xpcAccessibleHyperText, bool mRemote; }; -inline xpcAccessibleGeneric* ToXPC(LocalAccessible* aAccessible) { +inline xpcAccessibleGeneric* ToXPC(Accessible* aAccessible) { if (!aAccessible) return nullptr; if (aAccessible->IsApplication()) return XPCApplicationAcc(); xpcAccessibleDocument* xpcDoc = - GetAccService()->GetXPCDocument(aAccessible->Document()); + aAccessible->IsLocal() + ? GetAccService()->GetXPCDocument(aAccessible->AsLocal()->Document()) + : GetAccService()->GetXPCDocument( + aAccessible->AsRemote()->Document()); return xpcDoc ? xpcDoc->GetAccessible(aAccessible) : nullptr; } -xpcAccessibleGeneric* ToXPC(AccessibleOrProxy aAcc); - inline xpcAccessibleHyperText* ToXPCText(HyperTextAccessible* aAccessible) { if (!aAccessible) return nullptr; diff --git a/accessible/xpcom/xpcAccessibleGeneric.cpp b/accessible/xpcom/xpcAccessibleGeneric.cpp index be9991399742..6ce122a07904 100644 --- a/accessible/xpcom/xpcAccessibleGeneric.cpp +++ b/accessible/xpcom/xpcAccessibleGeneric.cpp @@ -28,19 +28,19 @@ NS_IMPL_ADDREF(xpcAccessibleGeneric) NS_IMPL_RELEASE(xpcAccessibleGeneric) xpcAccessibleGeneric::~xpcAccessibleGeneric() { - if (mIntl.IsNull()) { + if (!mIntl) { return; } xpcAccessibleDocument* xpcDoc = nullptr; - if (mIntl.IsAccessible()) { - LocalAccessible* acc = mIntl.AsAccessible(); + if (mIntl->IsLocal()) { + LocalAccessible* acc = mIntl->AsLocal(); if (!acc->IsDoc() && !acc->IsApplication()) { xpcDoc = GetAccService()->GetXPCDocument(acc->Document()); xpcDoc->NotifyOfShutdown(acc); } } else { - RemoteAccessible* proxy = mIntl.AsProxy(); + RemoteAccessible* proxy = mIntl->AsRemote(); if (!proxy->IsDoc()) { xpcDoc = GetAccService()->GetXPCDocument(proxy->Document()); xpcDoc->NotifyOfShutdown(proxy); @@ -52,7 +52,7 @@ xpcAccessibleGeneric::~xpcAccessibleGeneric() { // nsIAccessible LocalAccessible* xpcAccessibleGeneric::ToInternalAccessible() const { - return mIntl.AsAccessible(); + return mIntl->AsLocal(); } //////////////////////////////////////////////////////////////////////////////// diff --git a/accessible/xpcom/xpcAccessibleGeneric.h b/accessible/xpcom/xpcAccessibleGeneric.h index d2ddbc05f857..605543343235 100644 --- a/accessible/xpcom/xpcAccessibleGeneric.h +++ b/accessible/xpcom/xpcAccessibleGeneric.h @@ -13,7 +13,7 @@ #include "xpcAccessibleValue.h" #include "LocalAccessible.h" -#include "AccessibleOrProxy.h" +#include "mozilla/a11y/Accessible.h" namespace mozilla { namespace a11y { @@ -26,7 +26,7 @@ class xpcAccessibleGeneric : public xpcAccessible, public xpcAccessibleSelectable, public xpcAccessibleValue { public: - explicit xpcAccessibleGeneric(LocalAccessible* aInternal) + explicit xpcAccessibleGeneric(Accessible* aInternal) : mIntl(aInternal), mSupportedIfaces(0) { if (aInternal->IsSelect()) mSupportedIfaces |= eSelectable; if (aInternal->HasNumericValue()) mSupportedIfaces |= eValue; @@ -47,7 +47,7 @@ class xpcAccessibleGeneric : public xpcAccessible, protected: virtual ~xpcAccessibleGeneric(); - AccessibleOrProxy mIntl; + Accessible* mIntl; enum { eSelectable = 1 << 0, @@ -69,22 +69,28 @@ class xpcAccessibleGeneric : public xpcAccessible, }; inline LocalAccessible* xpcAccessible::Intl() { - return static_cast(this)->mIntl.AsAccessible(); + if (!static_cast(this)->mIntl) { + return nullptr; + } + return static_cast(this)->mIntl->AsLocal(); } -inline AccessibleOrProxy xpcAccessible::IntlGeneric() { +inline Accessible* xpcAccessible::IntlGeneric() { return static_cast(this)->mIntl; } -inline AccessibleOrProxy xpcAccessibleHyperLink::Intl() { +inline Accessible* xpcAccessibleHyperLink::Intl() { return static_cast(this)->mIntl; } inline LocalAccessible* xpcAccessibleSelectable::Intl() { - return static_cast(this)->mIntl.AsAccessible(); + if (!static_cast(this)->mIntl) { + return nullptr; + } + return static_cast(this)->mIntl->AsLocal(); } -inline AccessibleOrProxy xpcAccessibleValue::Intl() { +inline Accessible* xpcAccessibleValue::Intl() { return static_cast(this)->mIntl; } diff --git a/accessible/xpcom/xpcAccessibleHyperLink.cpp b/accessible/xpcom/xpcAccessibleHyperLink.cpp index e147bc98daa6..31f5a117f102 100644 --- a/accessible/xpcom/xpcAccessibleHyperLink.cpp +++ b/accessible/xpcom/xpcAccessibleHyperLink.cpp @@ -17,16 +17,16 @@ xpcAccessibleHyperLink::GetStartIndex(int32_t* aStartIndex) { NS_ENSURE_ARG_POINTER(aStartIndex); *aStartIndex = 0; - if (Intl().IsNull()) return NS_ERROR_FAILURE; + if (!Intl()) return NS_ERROR_FAILURE; - if (Intl().IsAccessible()) { - *aStartIndex = Intl().AsAccessible()->StartOffset(); + if (Intl()->IsLocal()) { + *aStartIndex = Intl()->AsLocal()->StartOffset(); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else bool isIndexValid = false; - uint32_t startOffset = Intl().AsProxy()->StartOffset(&isIndexValid); + uint32_t startOffset = Intl()->AsRemote()->StartOffset(&isIndexValid); if (!isIndexValid) return NS_ERROR_FAILURE; *aStartIndex = startOffset; @@ -41,16 +41,16 @@ xpcAccessibleHyperLink::GetEndIndex(int32_t* aEndIndex) { NS_ENSURE_ARG_POINTER(aEndIndex); *aEndIndex = 0; - if (Intl().IsNull()) return NS_ERROR_FAILURE; + if (!Intl()) return NS_ERROR_FAILURE; - if (Intl().IsAccessible()) { - *aEndIndex = Intl().AsAccessible()->EndOffset(); + if (Intl()->IsLocal()) { + *aEndIndex = Intl()->AsLocal()->EndOffset(); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else bool isIndexValid = false; - uint32_t endOffset = Intl().AsProxy()->EndOffset(&isIndexValid); + uint32_t endOffset = Intl()->AsRemote()->EndOffset(&isIndexValid); if (!isIndexValid) return NS_ERROR_FAILURE; *aEndIndex = endOffset; @@ -65,16 +65,16 @@ xpcAccessibleHyperLink::GetAnchorCount(int32_t* aAnchorCount) { NS_ENSURE_ARG_POINTER(aAnchorCount); *aAnchorCount = 0; - if (Intl().IsNull()) return NS_ERROR_FAILURE; + if (!Intl()) return NS_ERROR_FAILURE; - if (Intl().IsAccessible()) { - *aAnchorCount = Intl().AsAccessible()->AnchorCount(); + if (Intl()->IsLocal()) { + *aAnchorCount = Intl()->AsLocal()->AnchorCount(); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else bool isCountValid = false; - uint32_t anchorCount = Intl().AsProxy()->AnchorCount(&isCountValid); + uint32_t anchorCount = Intl()->AsRemote()->AnchorCount(&isCountValid); if (!isCountValid) return NS_ERROR_FAILURE; *aAnchorCount = anchorCount; @@ -88,23 +88,23 @@ NS_IMETHODIMP xpcAccessibleHyperLink::GetURI(int32_t aIndex, nsIURI** aURI) { NS_ENSURE_ARG_POINTER(aURI); - if (Intl().IsNull()) return NS_ERROR_FAILURE; + if (!Intl()) return NS_ERROR_FAILURE; if (aIndex < 0) return NS_ERROR_INVALID_ARG; - if (Intl().IsAccessible()) { - if (aIndex >= static_cast(Intl().AsAccessible()->AnchorCount())) { + if (Intl()->IsLocal()) { + if (aIndex >= static_cast(Intl()->AsLocal()->AnchorCount())) { return NS_ERROR_INVALID_ARG; } - RefPtr(Intl().AsAccessible()->AnchorURIAt(aIndex)).forget(aURI); + RefPtr(Intl()->AsLocal()->AnchorURIAt(aIndex)).forget(aURI); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else nsCString spec; bool isURIValid = false; - Intl().AsProxy()->AnchorURIAt(aIndex, spec, &isURIValid); + Intl()->AsRemote()->AnchorURIAt(aIndex, spec, &isURIValid); if (!isURIValid) return NS_ERROR_FAILURE; nsCOMPtr uri; @@ -123,21 +123,21 @@ xpcAccessibleHyperLink::GetAnchor(int32_t aIndex, nsIAccessible** aAccessible) { NS_ENSURE_ARG_POINTER(aAccessible); *aAccessible = nullptr; - if (Intl().IsNull()) return NS_ERROR_FAILURE; + if (!Intl()) return NS_ERROR_FAILURE; if (aIndex < 0) return NS_ERROR_INVALID_ARG; - if (Intl().IsAccessible()) { - if (aIndex >= static_cast(Intl().AsAccessible()->AnchorCount())) { + if (Intl()->IsLocal()) { + if (aIndex >= static_cast(Intl()->AsLocal()->AnchorCount())) { return NS_ERROR_INVALID_ARG; } - NS_IF_ADDREF(*aAccessible = ToXPC(Intl().AsAccessible()->AnchorAt(aIndex))); + NS_IF_ADDREF(*aAccessible = ToXPC(Intl()->AsLocal()->AnchorAt(aIndex))); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - NS_IF_ADDREF(*aAccessible = ToXPC(Intl().AsProxy()->AnchorAt(aIndex))); + NS_IF_ADDREF(*aAccessible = ToXPC(Intl()->AsRemote()->AnchorAt(aIndex))); #endif } @@ -149,15 +149,15 @@ xpcAccessibleHyperLink::GetValid(bool* aValid) { NS_ENSURE_ARG_POINTER(aValid); *aValid = false; - if (Intl().IsNull()) return NS_ERROR_FAILURE; + if (!Intl()) return NS_ERROR_FAILURE; - if (Intl().IsAccessible()) { - *aValid = Intl().AsAccessible()->IsLinkValid(); + if (Intl()->IsLocal()) { + *aValid = Intl()->AsLocal()->IsLinkValid(); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - *aValid = Intl().AsProxy()->IsLinkValid(); + *aValid = Intl()->AsRemote()->IsLinkValid(); #endif } diff --git a/accessible/xpcom/xpcAccessibleHyperLink.h b/accessible/xpcom/xpcAccessibleHyperLink.h index e4b2b30477d3..85e686eb54dd 100644 --- a/accessible/xpcom/xpcAccessibleHyperLink.h +++ b/accessible/xpcom/xpcAccessibleHyperLink.h @@ -9,7 +9,7 @@ #include "nsIAccessibleHyperLink.h" -#include "AccessibleOrProxy.h" +#include "mozilla/a11y/Accessible.h" class nsIAccessible; @@ -39,7 +39,7 @@ class xpcAccessibleHyperLink : public nsIAccessibleHyperLink { xpcAccessibleHyperLink(const xpcAccessibleHyperLink&) = delete; xpcAccessibleHyperLink& operator=(const xpcAccessibleHyperLink&) = delete; - AccessibleOrProxy Intl(); + Accessible* Intl(); }; } // namespace a11y diff --git a/accessible/xpcom/xpcAccessibleHyperText.cpp b/accessible/xpcom/xpcAccessibleHyperText.cpp index d8bdd50edc13..c32f20b17484 100644 --- a/accessible/xpcom/xpcAccessibleHyperText.cpp +++ b/accessible/xpcom/xpcAccessibleHyperText.cpp @@ -42,15 +42,15 @@ xpcAccessibleHyperText::GetCharacterCount(int32_t* aCharacterCount) { NS_ENSURE_ARG_POINTER(aCharacterCount); *aCharacterCount = 0; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { *aCharacterCount = Intl()->CharacterCount(); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - *aCharacterCount = mIntl.AsProxy()->CharacterCount(); + *aCharacterCount = mIntl->AsRemote()->CharacterCount(); #endif } return NS_OK; @@ -61,13 +61,13 @@ xpcAccessibleHyperText::GetText(int32_t aStartOffset, int32_t aEndOffset, nsAString& aText) { aText.Truncate(); - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->TextSubstring(aStartOffset, aEndOffset, aText); } else { nsString text; - mIntl.AsProxy()->TextSubstring(aStartOffset, aEndOffset, text); + mIntl->AsRemote()->TextSubstring(aStartOffset, aEndOffset, text); aText = text; } return NS_OK; @@ -82,15 +82,15 @@ xpcAccessibleHyperText::GetTextBeforeOffset( *aStartOffset = *aEndOffset = 0; aText.Truncate(); - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->TextBeforeOffset(aOffset, aBoundaryType, aStartOffset, aEndOffset, aText); } else { nsString text; - mIntl.AsProxy()->GetTextBeforeOffset(aOffset, aBoundaryType, text, - aStartOffset, aEndOffset); + mIntl->AsRemote()->GetTextBeforeOffset(aOffset, aBoundaryType, text, + aStartOffset, aEndOffset); aText = text; } return NS_OK; @@ -106,15 +106,15 @@ xpcAccessibleHyperText::GetTextAtOffset(int32_t aOffset, *aStartOffset = *aEndOffset = 0; aText.Truncate(); - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->TextAtOffset(aOffset, aBoundaryType, aStartOffset, aEndOffset, aText); } else { nsString text; - mIntl.AsProxy()->GetTextAtOffset(aOffset, aBoundaryType, text, aStartOffset, - aEndOffset); + mIntl->AsRemote()->GetTextAtOffset(aOffset, aBoundaryType, text, + aStartOffset, aEndOffset); aText = text; } return NS_OK; @@ -131,15 +131,15 @@ xpcAccessibleHyperText::GetTextAfterOffset(int32_t aOffset, *aStartOffset = *aEndOffset = 0; aText.Truncate(); - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->TextAfterOffset(aOffset, aBoundaryType, aStartOffset, aEndOffset, aText); } else { nsString text; - mIntl.AsProxy()->GetTextAfterOffset(aOffset, aBoundaryType, text, - aStartOffset, aEndOffset); + mIntl->AsRemote()->GetTextAfterOffset(aOffset, aBoundaryType, text, + aStartOffset, aEndOffset); aText = text; } return NS_OK; @@ -151,15 +151,15 @@ xpcAccessibleHyperText::GetCharacterAtOffset(int32_t aOffset, NS_ENSURE_ARG_POINTER(aCharacter); *aCharacter = L'\0'; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { *aCharacter = Intl()->CharAt(aOffset); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - *aCharacter = mIntl.AsProxy()->CharAt(aOffset); + *aCharacter = mIntl->AsRemote()->CharAt(aOffset); #endif } return NS_OK; @@ -175,10 +175,10 @@ xpcAccessibleHyperText::GetTextAttributes( *aStartOffset = *aEndOffset = 0; *aAttributes = nullptr; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; nsCOMPtr props; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { props = Intl()->TextAttributes(aIncludeDefAttrs, aOffset, aStartOffset, aEndOffset); } else { @@ -186,8 +186,8 @@ xpcAccessibleHyperText::GetTextAttributes( return NS_ERROR_NOT_IMPLEMENTED; #else AutoTArray attrs; - mIntl.AsProxy()->TextAttributes(aIncludeDefAttrs, aOffset, &attrs, - aStartOffset, aEndOffset); + mIntl->AsRemote()->TextAttributes(aIncludeDefAttrs, aOffset, &attrs, + aStartOffset, aEndOffset); uint32_t attrCount = attrs.Length(); nsAutoString unused; for (uint32_t i = 0; i < attrCount; i++) { @@ -206,17 +206,17 @@ xpcAccessibleHyperText::GetDefaultTextAttributes( NS_ENSURE_ARG_POINTER(aAttributes); *aAttributes = nullptr; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; nsCOMPtr props; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { props = Intl()->DefaultTextAttributes(); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else AutoTArray attrs; - mIntl.AsProxy()->DefaultTextAttributes(&attrs); + mIntl->AsRemote()->DefaultTextAttributes(&attrs); uint32_t attrCount = attrs.Length(); nsAutoString unused; for (uint32_t i = 0; i < attrCount; i++) { @@ -240,16 +240,16 @@ xpcAccessibleHyperText::GetCharacterExtents(int32_t aOffset, int32_t* aX, NS_ENSURE_ARG_POINTER(aHeight); *aX = *aY = *aWidth = *aHeight; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; nsIntRect rect; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { rect = Intl()->CharBounds(aOffset, aCoordType); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - rect = mIntl.AsProxy()->CharBounds(aOffset, aCoordType); + rect = mIntl->AsRemote()->CharBounds(aOffset, aCoordType); #endif } rect.GetRect(aX, aY, aWidth, aHeight); @@ -267,16 +267,16 @@ xpcAccessibleHyperText::GetRangeExtents(int32_t aStartOffset, NS_ENSURE_ARG_POINTER(aHeight); *aX = *aY = *aWidth = *aHeight = 0; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; nsIntRect rect; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { rect = Intl()->TextBounds(aStartOffset, aEndOffset, aCoordType); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - rect = mIntl.AsProxy()->TextBounds(aStartOffset, aEndOffset, aCoordType); + rect = mIntl->AsRemote()->TextBounds(aStartOffset, aEndOffset, aCoordType); #endif } rect.GetRect(aX, aY, aWidth, aHeight); @@ -290,12 +290,12 @@ xpcAccessibleHyperText::GetOffsetAtPoint(int32_t aX, int32_t aY, NS_ENSURE_ARG_POINTER(aOffset); *aOffset = -1; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { *aOffset = Intl()->OffsetAtPoint(aX, aY, aCoordType); } else { - *aOffset = mIntl.AsProxy()->OffsetAtPoint(aX, aY, aCoordType); + *aOffset = mIntl->AsRemote()->OffsetAtPoint(aX, aY, aCoordType); } return NS_OK; } @@ -305,24 +305,24 @@ xpcAccessibleHyperText::GetCaretOffset(int32_t* aCaretOffset) { NS_ENSURE_ARG_POINTER(aCaretOffset); *aCaretOffset = -1; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { *aCaretOffset = Intl()->CaretOffset(); } else { - *aCaretOffset = mIntl.AsProxy()->CaretOffset(); + *aCaretOffset = mIntl->AsRemote()->CaretOffset(); } return NS_OK; } NS_IMETHODIMP xpcAccessibleHyperText::SetCaretOffset(int32_t aCaretOffset) { - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->SetCaretOffset(aCaretOffset); } else { - mIntl.AsProxy()->SetCaretOffset(aCaretOffset); + mIntl->AsRemote()->SetCaretOffset(aCaretOffset); } return NS_OK; } @@ -332,15 +332,15 @@ xpcAccessibleHyperText::GetSelectionCount(int32_t* aSelectionCount) { NS_ENSURE_ARG_POINTER(aSelectionCount); *aSelectionCount = 0; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { *aSelectionCount = Intl()->SelectionCount(); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - *aSelectionCount = mIntl.AsProxy()->SelectionCount(); + *aSelectionCount = mIntl->AsRemote()->SelectionCount(); #endif } return NS_OK; @@ -354,11 +354,11 @@ xpcAccessibleHyperText::GetSelectionBounds(int32_t aSelectionNum, NS_ENSURE_ARG_POINTER(aEndOffset); *aStartOffset = *aEndOffset = 0; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; if (aSelectionNum < 0) return NS_ERROR_INVALID_ARG; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { if (aSelectionNum >= Intl()->SelectionCount()) return NS_ERROR_INVALID_ARG; Intl()->SelectionBoundsAt(aSelectionNum, aStartOffset, aEndOffset); @@ -367,8 +367,8 @@ xpcAccessibleHyperText::GetSelectionBounds(int32_t aSelectionNum, return NS_ERROR_NOT_IMPLEMENTED; #else nsString unused; - mIntl.AsProxy()->SelectionBoundsAt(aSelectionNum, unused, aStartOffset, - aEndOffset); + mIntl->AsRemote()->SelectionBoundsAt(aSelectionNum, unused, aStartOffset, + aEndOffset); #endif } return NS_OK; @@ -378,11 +378,11 @@ NS_IMETHODIMP xpcAccessibleHyperText::SetSelectionBounds(int32_t aSelectionNum, int32_t aStartOffset, int32_t aEndOffset) { - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; if (aSelectionNum < 0) return NS_ERROR_INVALID_ARG; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { if (!Intl()->SetSelectionBoundsAt(aSelectionNum, aStartOffset, aEndOffset)) { return NS_ERROR_INVALID_ARG; @@ -391,8 +391,8 @@ xpcAccessibleHyperText::SetSelectionBounds(int32_t aSelectionNum, #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - if (!mIntl.AsProxy()->SetSelectionBoundsAt(aSelectionNum, aStartOffset, - aEndOffset)) { + if (!mIntl->AsRemote()->SetSelectionBoundsAt(aSelectionNum, aStartOffset, + aEndOffset)) { return NS_ERROR_INVALID_ARG; } #endif @@ -402,24 +402,24 @@ xpcAccessibleHyperText::SetSelectionBounds(int32_t aSelectionNum, NS_IMETHODIMP xpcAccessibleHyperText::AddSelection(int32_t aStartOffset, int32_t aEndOffset) { - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->AddToSelection(aStartOffset, aEndOffset); } else { - mIntl.AsProxy()->AddToSelection(aStartOffset, aEndOffset); + mIntl->AsRemote()->AddToSelection(aStartOffset, aEndOffset); } return NS_OK; } NS_IMETHODIMP xpcAccessibleHyperText::RemoveSelection(int32_t aSelectionNum) { - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->RemoveFromSelection(aSelectionNum); } else { - mIntl.AsProxy()->RemoveFromSelection(aSelectionNum); + mIntl->AsRemote()->RemoveFromSelection(aSelectionNum); } return NS_OK; } @@ -428,12 +428,12 @@ NS_IMETHODIMP xpcAccessibleHyperText::ScrollSubstringTo(int32_t aStartOffset, int32_t aEndOffset, uint32_t aScrollType) { - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->ScrollSubstringTo(aStartOffset, aEndOffset, aScrollType); } else { - mIntl.AsProxy()->ScrollSubstringTo(aStartOffset, aEndOffset, aScrollType); + mIntl->AsRemote()->ScrollSubstringTo(aStartOffset, aEndOffset, aScrollType); } return NS_OK; } @@ -443,14 +443,14 @@ xpcAccessibleHyperText::ScrollSubstringToPoint(int32_t aStartOffset, int32_t aEndOffset, uint32_t aCoordinateType, int32_t aX, int32_t aY) { - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->ScrollSubstringToPoint(aStartOffset, aEndOffset, aCoordinateType, aX, aY); } else { - mIntl.AsProxy()->ScrollSubstringToPoint(aStartOffset, aEndOffset, - aCoordinateType, aX, aY); + mIntl->AsRemote()->ScrollSubstringToPoint(aStartOffset, aEndOffset, + aCoordinateType, aX, aY); } return NS_OK; } @@ -558,16 +558,16 @@ xpcAccessibleHyperText::GetRangeAtPoint(int32_t aX, int32_t aY, NS_IMETHODIMP xpcAccessibleHyperText::SetTextContents(const nsAString& aText) { - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->ReplaceText(aText); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else nsString text(aText); - mIntl.AsProxy()->ReplaceText(text); + mIntl->AsRemote()->ReplaceText(text); #endif } return NS_OK; @@ -575,16 +575,16 @@ xpcAccessibleHyperText::SetTextContents(const nsAString& aText) { NS_IMETHODIMP xpcAccessibleHyperText::InsertText(const nsAString& aText, int32_t aOffset) { - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->InsertText(aText, aOffset); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else nsString text(aText); - mIntl.AsProxy()->InsertText(text, aOffset); + mIntl->AsRemote()->InsertText(text, aOffset); #endif } return NS_OK; @@ -592,15 +592,15 @@ xpcAccessibleHyperText::InsertText(const nsAString& aText, int32_t aOffset) { NS_IMETHODIMP xpcAccessibleHyperText::CopyText(int32_t aStartOffset, int32_t aEndOffset) { - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->CopyText(aStartOffset, aEndOffset); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - mIntl.AsProxy()->CopyText(aStartOffset, aEndOffset); + mIntl->AsRemote()->CopyText(aStartOffset, aEndOffset); #endif } return NS_OK; @@ -608,15 +608,15 @@ xpcAccessibleHyperText::CopyText(int32_t aStartOffset, int32_t aEndOffset) { NS_IMETHODIMP xpcAccessibleHyperText::CutText(int32_t aStartOffset, int32_t aEndOffset) { - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->CutText(aStartOffset, aEndOffset); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - mIntl.AsProxy()->CutText(aStartOffset, aEndOffset); + mIntl->AsRemote()->CutText(aStartOffset, aEndOffset); #endif } return NS_OK; @@ -624,15 +624,15 @@ xpcAccessibleHyperText::CutText(int32_t aStartOffset, int32_t aEndOffset) { NS_IMETHODIMP xpcAccessibleHyperText::DeleteText(int32_t aStartOffset, int32_t aEndOffset) { - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { Intl()->DeleteText(aStartOffset, aEndOffset); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - mIntl.AsProxy()->DeleteText(aStartOffset, aEndOffset); + mIntl->AsRemote()->DeleteText(aStartOffset, aEndOffset); #endif } return NS_OK; @@ -640,16 +640,16 @@ xpcAccessibleHyperText::DeleteText(int32_t aStartOffset, int32_t aEndOffset) { NS_IMETHODIMP xpcAccessibleHyperText::PasteText(int32_t aOffset) { - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { RefPtr acc = Intl(); acc->PasteText(aOffset); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - mIntl.AsProxy()->PasteText(aOffset); + mIntl->AsRemote()->PasteText(aOffset); #endif } return NS_OK; @@ -663,15 +663,15 @@ xpcAccessibleHyperText::GetLinkCount(int32_t* aLinkCount) { NS_ENSURE_ARG_POINTER(aLinkCount); *aLinkCount = 0; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { *aLinkCount = Intl()->LinkCount(); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - *aLinkCount = mIntl.AsProxy()->LinkCount(); + *aLinkCount = mIntl->AsRemote()->LinkCount(); #endif } return NS_OK; @@ -683,15 +683,15 @@ xpcAccessibleHyperText::GetLinkAt(int32_t aIndex, NS_ENSURE_ARG_POINTER(aLink); *aLink = nullptr; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { NS_IF_ADDREF(*aLink = ToXPC(Intl()->LinkAt(aIndex))); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - NS_IF_ADDREF(*aLink = ToXPC(mIntl.AsProxy()->LinkAt(aIndex))); + NS_IF_ADDREF(*aLink = ToXPC(mIntl->AsRemote()->LinkAt(aIndex))); #endif } return NS_OK; @@ -704,7 +704,7 @@ xpcAccessibleHyperText::GetLinkIndex(nsIAccessibleHyperLink* aLink, NS_ENSURE_ARG_POINTER(aIndex); *aIndex = -1; - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; nsCOMPtr xpcLink(do_QueryInterface(aLink)); if (LocalAccessible* accLink = xpcLink->ToInternalAccessible()) { @@ -715,9 +715,9 @@ xpcAccessibleHyperText::GetLinkIndex(nsIAccessibleHyperLink* aLink, #else xpcAccessibleHyperText* linkHyperText = static_cast(xpcLink.get()); - RemoteAccessible* proxyLink = linkHyperText->mIntl.AsProxy(); + RemoteAccessible* proxyLink = linkHyperText->mIntl->AsRemote(); if (proxyLink) { - *aIndex = mIntl.AsProxy()->LinkIndexOf(proxyLink); + *aIndex = mIntl->AsRemote()->LinkIndexOf(proxyLink); } #endif } @@ -731,15 +731,15 @@ xpcAccessibleHyperText::GetLinkIndexAtOffset(int32_t aOffset, NS_ENSURE_ARG_POINTER(aLinkIndex); *aLinkIndex = -1; // API says this magic value means 'not found' - if (mIntl.IsNull()) return NS_ERROR_FAILURE; + if (!mIntl) return NS_ERROR_FAILURE; - if (mIntl.IsAccessible()) { + if (mIntl->IsLocal()) { *aLinkIndex = Intl()->LinkIndexAtOffset(aOffset); } else { #if defined(XP_WIN) return NS_ERROR_NOT_IMPLEMENTED; #else - *aLinkIndex = mIntl.AsProxy()->LinkIndexAtOffset(aOffset); + *aLinkIndex = mIntl->AsRemote()->LinkIndexAtOffset(aOffset); #endif } return NS_OK; diff --git a/accessible/xpcom/xpcAccessibleHyperText.h b/accessible/xpcom/xpcAccessibleHyperText.h index 1bcf30ea1d9f..986a157e522e 100644 --- a/accessible/xpcom/xpcAccessibleHyperText.h +++ b/accessible/xpcom/xpcAccessibleHyperText.h @@ -22,11 +22,9 @@ class xpcAccessibleHyperText : public xpcAccessibleGeneric, public nsIAccessibleEditableText, public nsIAccessibleHyperText { public: - explicit xpcAccessibleHyperText(LocalAccessible* aIntl) + explicit xpcAccessibleHyperText(Accessible* aIntl) : xpcAccessibleGeneric(aIntl) { - if (aIntl->IsHyperText() && aIntl->AsHyperText()->IsTextRole()) { - mSupportedIfaces |= eText; - } + if (aIntl->IsHyperText() && aIntl->IsTextRole()) mSupportedIfaces |= eText; } xpcAccessibleHyperText(RemoteAccessible* aProxy, uint32_t aInterfaces) @@ -45,7 +43,7 @@ class xpcAccessibleHyperText : public xpcAccessibleGeneric, private: HyperTextAccessible* Intl() { - if (LocalAccessible* acc = mIntl.AsAccessible()) { + if (LocalAccessible* acc = mIntl->AsLocal()) { return acc->AsHyperText(); } diff --git a/accessible/xpcom/xpcAccessibleImage.h b/accessible/xpcom/xpcAccessibleImage.h index 35322496ea91..894c149003a5 100644 --- a/accessible/xpcom/xpcAccessibleImage.h +++ b/accessible/xpcom/xpcAccessibleImage.h @@ -17,12 +17,9 @@ namespace a11y { class xpcAccessibleImage : public xpcAccessibleGeneric, public nsIAccessibleImage { public: - explicit xpcAccessibleImage(LocalAccessible* aIntl) + explicit xpcAccessibleImage(Accessible* aIntl) : xpcAccessibleGeneric(aIntl) {} - xpcAccessibleImage(RemoteAccessible* aProxy, uint32_t aInterfaces) - : xpcAccessibleGeneric(aProxy, aInterfaces) {} - NS_DECL_ISUPPORTS_INHERITED NS_IMETHOD GetImagePosition(uint32_t aCoordType, int32_t* aX, @@ -34,7 +31,7 @@ class xpcAccessibleImage : public xpcAccessibleGeneric, private: ImageAccessible* Intl() { - return mIntl.IsAccessible() ? mIntl.AsAccessible()->AsImage() : nullptr; + return mIntl->IsLocal() ? mIntl->AsLocal()->AsImage() : nullptr; } xpcAccessibleImage(const xpcAccessibleImage&) = delete; diff --git a/accessible/xpcom/xpcAccessibleTable.h b/accessible/xpcom/xpcAccessibleTable.h index 6689eb8fcad2..23b4e06e1ac9 100644 --- a/accessible/xpcom/xpcAccessibleTable.h +++ b/accessible/xpcom/xpcAccessibleTable.h @@ -19,7 +19,7 @@ namespace a11y { class xpcAccessibleTable : public xpcAccessibleHyperText, public nsIAccessibleTable { public: - explicit xpcAccessibleTable(LocalAccessible* aIntl) + explicit xpcAccessibleTable(Accessible* aIntl) : xpcAccessibleHyperText(aIntl) {} xpcAccessibleTable(RemoteAccessible* aProxy, uint32_t aInterfaces) @@ -69,7 +69,7 @@ class xpcAccessibleTable : public xpcAccessibleHyperText, private: TableAccessible* Intl() { - return mIntl.IsAccessible() ? mIntl.AsAccessible()->AsTable() : nullptr; + return mIntl->IsLocal() ? mIntl->AsLocal()->AsTable() : nullptr; } xpcAccessibleTable(const xpcAccessibleTable&) = delete; diff --git a/accessible/xpcom/xpcAccessibleTableCell.h b/accessible/xpcom/xpcAccessibleTableCell.h index 37fe6eb3db15..0f63badf15d0 100644 --- a/accessible/xpcom/xpcAccessibleTableCell.h +++ b/accessible/xpcom/xpcAccessibleTableCell.h @@ -20,7 +20,7 @@ namespace a11y { class xpcAccessibleTableCell : public xpcAccessibleHyperText, public nsIAccessibleTableCell { public: - explicit xpcAccessibleTableCell(LocalAccessible* aIntl) + explicit xpcAccessibleTableCell(Accessible* aIntl) : xpcAccessibleHyperText(aIntl) {} xpcAccessibleTableCell(RemoteAccessible* aProxy, uint32_t aInterfaces) @@ -43,7 +43,7 @@ class xpcAccessibleTableCell : public xpcAccessibleHyperText, private: TableCellAccessible* Intl() { - if (LocalAccessible* acc = mIntl.AsAccessible()) { + if (LocalAccessible* acc = mIntl->AsLocal()) { return acc->AsTableCell(); } diff --git a/accessible/xpcom/xpcAccessibleValue.cpp b/accessible/xpcom/xpcAccessibleValue.cpp index c5415d6e5d9f..3895f8163500 100644 --- a/accessible/xpcom/xpcAccessibleValue.cpp +++ b/accessible/xpcom/xpcAccessibleValue.cpp @@ -15,17 +15,17 @@ xpcAccessibleValue::GetMaximumValue(double* aValue) { NS_ENSURE_ARG_POINTER(aValue); *aValue = 0; - if (Intl().IsNull()) return NS_ERROR_FAILURE; + if (!Intl()) return NS_ERROR_FAILURE; - if (Intl().IsAccessible() && Intl().AsAccessible()->IsDefunct()) { + if (Intl()->IsLocal() && Intl()->AsLocal()->IsDefunct()) { return NS_ERROR_FAILURE; } double value; - if (Intl().IsAccessible()) { - value = Intl().AsAccessible()->MaxValue(); + if (Intl()->IsLocal()) { + value = Intl()->AsLocal()->MaxValue(); } else { - value = Intl().AsProxy()->MaxValue(); + value = Intl()->AsRemote()->MaxValue(); } if (!IsNaN(value)) *aValue = value; @@ -38,17 +38,17 @@ xpcAccessibleValue::GetMinimumValue(double* aValue) { NS_ENSURE_ARG_POINTER(aValue); *aValue = 0; - if (Intl().IsNull()) return NS_ERROR_FAILURE; + if (!Intl()) return NS_ERROR_FAILURE; - if (Intl().IsAccessible() && Intl().AsAccessible()->IsDefunct()) { + if (Intl()->IsLocal() && Intl()->AsLocal()->IsDefunct()) { return NS_ERROR_FAILURE; } double value; - if (Intl().IsAccessible()) { - value = Intl().AsAccessible()->MinValue(); + if (Intl()->IsLocal()) { + value = Intl()->AsLocal()->MinValue(); } else { - value = Intl().AsProxy()->MinValue(); + value = Intl()->AsRemote()->MinValue(); } if (!IsNaN(value)) *aValue = value; @@ -61,17 +61,17 @@ xpcAccessibleValue::GetCurrentValue(double* aValue) { NS_ENSURE_ARG_POINTER(aValue); *aValue = 0; - if (Intl().IsNull()) return NS_ERROR_FAILURE; + if (!Intl()) return NS_ERROR_FAILURE; - if (Intl().IsAccessible() && Intl().AsAccessible()->IsDefunct()) { + if (Intl()->IsLocal() && Intl()->AsLocal()->IsDefunct()) { return NS_ERROR_FAILURE; } double value; - if (Intl().IsAccessible()) { - value = Intl().AsAccessible()->CurValue(); + if (Intl()->IsLocal()) { + value = Intl()->AsLocal()->CurValue(); } else { - value = Intl().AsProxy()->CurValue(); + value = Intl()->AsRemote()->CurValue(); } if (!IsNaN(value)) *aValue = value; @@ -81,16 +81,16 @@ xpcAccessibleValue::GetCurrentValue(double* aValue) { NS_IMETHODIMP xpcAccessibleValue::SetCurrentValue(double aValue) { - if (Intl().IsNull()) return NS_ERROR_FAILURE; + if (!Intl()) return NS_ERROR_FAILURE; - if (Intl().IsAccessible() && Intl().AsAccessible()->IsDefunct()) { + if (Intl()->IsLocal() && Intl()->AsLocal()->IsDefunct()) { return NS_ERROR_FAILURE; } - if (Intl().IsAccessible()) { - Intl().AsAccessible()->SetCurValue(aValue); + if (Intl()->IsLocal()) { + Intl()->AsLocal()->SetCurValue(aValue); } else { - Intl().AsProxy()->SetCurValue(aValue); + Intl()->AsRemote()->SetCurValue(aValue); } return NS_OK; @@ -101,17 +101,17 @@ xpcAccessibleValue::GetMinimumIncrement(double* aValue) { NS_ENSURE_ARG_POINTER(aValue); *aValue = 0; - if (Intl().IsNull()) return NS_ERROR_FAILURE; + if (!Intl()) return NS_ERROR_FAILURE; - if (Intl().IsAccessible() && Intl().AsAccessible()->IsDefunct()) { + if (Intl()->IsLocal() && Intl()->AsLocal()->IsDefunct()) { return NS_ERROR_FAILURE; } double value; - if (Intl().IsAccessible()) { - value = Intl().AsAccessible()->Step(); + if (Intl()->IsLocal()) { + value = Intl()->AsLocal()->Step(); } else { - value = Intl().AsProxy()->Step(); + value = Intl()->AsRemote()->Step(); } if (!IsNaN(value)) *aValue = value; diff --git a/accessible/xpcom/xpcAccessibleValue.h b/accessible/xpcom/xpcAccessibleValue.h index 12570ba82c97..812278ab56cf 100644 --- a/accessible/xpcom/xpcAccessibleValue.h +++ b/accessible/xpcom/xpcAccessibleValue.h @@ -31,7 +31,7 @@ class xpcAccessibleValue : public nsIAccessibleValue { virtual ~xpcAccessibleValue() {} private: - AccessibleOrProxy Intl(); + Accessible* Intl(); xpcAccessibleValue(const xpcAccessibleValue&) = delete; xpcAccessibleValue& operator=(const xpcAccessibleValue&) = delete;