Bug 1693597 - P2: Rename ProxyAccessible to RemoteAccessible. r=morgan
authorEitan Isaacson <eitan@monotonous.org>
Fri, 19 Feb 2021 23:14:33 +0000
changeset 568149 345de85e66c21ef1928b11822683402465a98240
parent 568148 0df6a015e7c44653ff9cb114d25644c0515b0cc9
child 568150 7ff5a43093cd309daaf094dd75d5ac7356afc4b5
push id38221
push usercbrindusan@mozilla.com
push dateSat, 20 Feb 2021 09:33:16 +0000
treeherdermozilla-central@398870af9cb5 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmorgan
bugs1693597
milestone87.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1693597 - P2: Rename ProxyAccessible to RemoteAccessible. r=morgan Differential Revision: https://phabricator.services.mozilla.com/D105671
accessible/android/AccessibleWrap.h
accessible/android/Platform.cpp
accessible/android/ProxyAccessibleWrap.cpp
accessible/android/ProxyAccessibleWrap.h
accessible/android/RemoteAccessibleWrap.cpp
accessible/android/RemoteAccessibleWrap.h
accessible/android/RootAccessibleWrap.cpp
accessible/android/RootAccessibleWrap.h
accessible/android/SessionAccessibility.cpp
accessible/android/SessionAccessibility.h
accessible/android/moz.build
accessible/atk/AccessibleWrap.cpp
accessible/atk/nsMai.h
accessible/atk/nsMaiHyperlink.cpp
accessible/atk/nsMaiHyperlink.h
accessible/atk/nsMaiInterfaceAction.cpp
accessible/atk/nsMaiInterfaceComponent.cpp
accessible/atk/nsMaiInterfaceDocument.cpp
accessible/atk/nsMaiInterfaceEditableText.cpp
accessible/atk/nsMaiInterfaceHypertext.cpp
accessible/atk/nsMaiInterfaceImage.cpp
accessible/atk/nsMaiInterfaceSelection.cpp
accessible/atk/nsMaiInterfaceTable.cpp
accessible/atk/nsMaiInterfaceTableCell.cpp
accessible/atk/nsMaiInterfaceText.cpp
accessible/atk/nsMaiInterfaceValue.cpp
accessible/base/AccessibleOrProxy.cpp
accessible/base/AccessibleOrProxy.h
accessible/base/Pivot.h
accessible/base/Platform.h
accessible/generic/LocalAccessible.h
accessible/generic/OuterDocAccessible.cpp
accessible/generic/RootAccessible.cpp
accessible/generic/RootAccessible.h
accessible/ipc/DocAccessibleChildBase.cpp
accessible/ipc/DocAccessibleParent.cpp
accessible/ipc/DocAccessibleParent.h
accessible/ipc/ProxyAccessibleBase.cpp
accessible/ipc/ProxyAccessibleBase.h
accessible/ipc/ProxyAccessibleShared.h
accessible/ipc/RemoteAccessibleBase.cpp
accessible/ipc/RemoteAccessibleBase.h
accessible/ipc/RemoteAccessibleShared.h
accessible/ipc/extension/android/DocAccessiblePlatformExtParent.cpp
accessible/ipc/moz.build
accessible/ipc/other/DocAccessibleChild.cpp
accessible/ipc/other/ProxyAccessible.cpp
accessible/ipc/other/ProxyAccessible.h
accessible/ipc/other/RemoteAccessible.cpp
accessible/ipc/other/RemoteAccessible.h
accessible/ipc/other/moz.build
accessible/ipc/win/ProxyAccessible.cpp
accessible/ipc/win/ProxyAccessible.h
accessible/ipc/win/RemoteAccessible.cpp
accessible/ipc/win/RemoteAccessible.h
accessible/ipc/win/moz.build
accessible/mac/GeckoTextMarker.mm
accessible/mac/MOXSearchInfo.mm
accessible/mac/MOXWebAreaAccessible.mm
accessible/mac/MacUtils.h
accessible/mac/MacUtils.mm
accessible/mac/Platform.mm
accessible/mac/RotorRules.mm
accessible/mac/mozAccessible.h
accessible/mac/mozAccessible.mm
accessible/mac/mozActionElements.mm
accessible/mac/mozHTMLAccessible.mm
accessible/mac/mozTableAccessible.mm
accessible/mac/mozTextAccessible.mm
accessible/other/Platform.cpp
accessible/windows/ProxyWrappers.h
accessible/windows/msaa/AccessibleWrap.cpp
accessible/windows/msaa/AccessibleWrap.h
accessible/windows/msaa/Platform.cpp
accessible/windows/msaa/RootAccessibleWrap.cpp
accessible/xpcom/nsAccessibleRelation.cpp
accessible/xpcom/nsAccessibleRelation.h
accessible/xpcom/xpcAccessible.cpp
accessible/xpcom/xpcAccessibleDocument.cpp
accessible/xpcom/xpcAccessibleDocument.h
accessible/xpcom/xpcAccessibleGeneric.cpp
accessible/xpcom/xpcAccessibleGeneric.h
accessible/xpcom/xpcAccessibleHyperText.cpp
accessible/xpcom/xpcAccessibleHyperText.h
accessible/xpcom/xpcAccessibleImage.h
accessible/xpcom/xpcAccessibleTable.h
accessible/xpcom/xpcAccessibleTableCell.h
docshell/base/BrowsingContext.cpp
dom/ipc/BrowserBridgeChild.cpp
dom/ipc/BrowserBridgeChild.h
dom/ipc/BrowserParent.cpp
--- a/accessible/android/AccessibleWrap.h
+++ b/accessible/android/AccessibleWrap.h
@@ -2,17 +2,17 @@
 /* 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/. */
 
 #ifndef mozilla_a11y_AccessibleWrap_h_
 #define mozilla_a11y_AccessibleWrap_h_
 
 #include "LocalAccessible.h"
-#include "mozilla/a11y/ProxyAccessible.h"
+#include "mozilla/a11y/RemoteAccessible.h"
 #include "mozilla/java/GeckoBundleWrappers.h"
 #include "mozilla/java/SessionAccessibilityWrappers.h"
 #include "nsCOMPtr.h"
 
 namespace mozilla {
 namespace a11y {
 
 class AccessibleWrap : public LocalAccessible {
@@ -107,16 +107,16 @@ class AccessibleWrap : public LocalAcces
   static void GetRoleDescription(role aRole,
                                  nsIPersistentProperties* aAttributes,
                                  nsAString& aGeckoRole,
                                  nsAString& aRoleDescription);
 
   static uint32_t GetFlags(role aRole, uint64_t aState, uint8_t aActionCount);
 };
 
-static inline AccessibleWrap* WrapperFor(const ProxyAccessible* aProxy) {
+static inline AccessibleWrap* WrapperFor(const RemoteAccessible* aProxy) {
   return reinterpret_cast<AccessibleWrap*>(aProxy->GetWrapper());
 }
 
 }  // namespace a11y
 }  // namespace mozilla
 
 #endif
--- a/accessible/android/Platform.cpp
+++ b/accessible/android/Platform.cpp
@@ -1,78 +1,78 @@
 /* -*- 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 "Platform.h"
-#include "ProxyAccessibleWrap.h"
+#include "RemoteAccessibleWrap.h"
 #include "DocAccessibleWrap.h"
 #include "SessionAccessibility.h"
-#include "mozilla/a11y/ProxyAccessible.h"
+#include "mozilla/a11y/RemoteAccessible.h"
 #include "mozilla/Components.h"
 #include "nsIAccessibleEvent.h"
 #include "nsIAccessiblePivot.h"
 #include "nsIStringBundle.h"
 
 #define ROLE_STRINGS_URL "chrome://global/locale/AccessFu.properties"
 
 using namespace mozilla;
 using namespace mozilla::a11y;
 
 static nsIStringBundle* sStringBundle;
 
 void a11y::PlatformInit() {}
 
 void a11y::PlatformShutdown() { NS_IF_RELEASE(sStringBundle); }
 
-void a11y::ProxyCreated(ProxyAccessible* aProxy, uint32_t aInterfaces) {
+void a11y::ProxyCreated(RemoteAccessible* aProxy, uint32_t aInterfaces) {
   AccessibleWrap* wrapper = nullptr;
   if (aProxy->IsDoc()) {
-    wrapper = new DocProxyAccessibleWrap(aProxy->AsDoc());
+    wrapper = new DocRemoteAccessibleWrap(aProxy->AsDoc());
   } else {
-    wrapper = new ProxyAccessibleWrap(aProxy);
+    wrapper = new RemoteAccessibleWrap(aProxy);
   }
 
   wrapper->AddRef();
   aProxy->SetWrapper(reinterpret_cast<uintptr_t>(wrapper));
 }
 
-void a11y::ProxyDestroyed(ProxyAccessible* aProxy) {
+void a11y::ProxyDestroyed(RemoteAccessible* aProxy) {
   AccessibleWrap* wrapper =
       reinterpret_cast<AccessibleWrap*>(aProxy->GetWrapper());
 
   // If aProxy is a document that was created, but
   // RecvPDocAccessibleConstructor failed then aProxy->GetWrapper() will be
   // null.
   if (!wrapper) {
     return;
   }
 
   wrapper->Shutdown();
   aProxy->SetWrapper(0);
   wrapper->Release();
 }
 
-void a11y::ProxyEvent(ProxyAccessible* aTarget, uint32_t aEventType) {
+void a11y::ProxyEvent(RemoteAccessible* aTarget, uint32_t aEventType) {
   RefPtr<SessionAccessibility> sessionAcc =
       SessionAccessibility::GetInstanceFor(aTarget);
   if (!sessionAcc) {
     return;
   }
 
   switch (aEventType) {
     case nsIAccessibleEvent::EVENT_FOCUS:
       sessionAcc->SendFocusEvent(WrapperFor(aTarget));
       break;
   }
 }
 
-void a11y::ProxyStateChangeEvent(ProxyAccessible* aTarget, uint64_t aState,
+void a11y::ProxyStateChangeEvent(RemoteAccessible* aTarget, uint64_t aState,
                                  bool aEnabled) {
   RefPtr<SessionAccessibility> sessionAcc =
       SessionAccessibility::GetInstanceFor(aTarget);
 
   if (!sessionAcc) {
     return;
   }
 
@@ -94,51 +94,52 @@ void a11y::ProxyStateChangeEvent(ProxyAc
     sessionAcc->SendSelectedEvent(WrapperFor(aTarget), aEnabled);
   }
 
   if (aState & states::BUSY) {
     sessionAcc->SendWindowStateChangedEvent(WrapperFor(aTarget));
   }
 }
 
-void a11y::ProxyCaretMoveEvent(ProxyAccessible* aTarget, int32_t aOffset,
+void a11y::ProxyCaretMoveEvent(RemoteAccessible* aTarget, int32_t aOffset,
                                bool aIsSelectionCollapsed) {
   RefPtr<SessionAccessibility> sessionAcc =
       SessionAccessibility::GetInstanceFor(aTarget);
 
   if (sessionAcc) {
     sessionAcc->SendTextSelectionChangedEvent(WrapperFor(aTarget), aOffset);
   }
 }
 
-void a11y::ProxyTextChangeEvent(ProxyAccessible* aTarget, const nsString& aStr,
+void a11y::ProxyTextChangeEvent(RemoteAccessible* aTarget, const nsString& aStr,
                                 int32_t aStart, uint32_t aLen, bool aIsInsert,
                                 bool aFromUser) {
   RefPtr<SessionAccessibility> sessionAcc =
       SessionAccessibility::GetInstanceFor(aTarget);
 
   if (sessionAcc) {
     sessionAcc->SendTextChangedEvent(WrapperFor(aTarget), aStr, aStart, aLen,
                                      aIsInsert, aFromUser);
   }
 }
 
-void a11y::ProxyShowHideEvent(ProxyAccessible* aTarget,
-                              ProxyAccessible* aParent, bool aInsert,
+void a11y::ProxyShowHideEvent(RemoteAccessible* aTarget,
+                              RemoteAccessible* aParent, bool aInsert,
                               bool aFromUser) {
   // We rely on the window content changed events to be dispatched
   // after the viewport cache is refreshed.
 }
 
-void a11y::ProxySelectionEvent(ProxyAccessible*, ProxyAccessible*, uint32_t) {}
+void a11y::ProxySelectionEvent(RemoteAccessible*, RemoteAccessible*, uint32_t) {
+}
 
 void a11y::ProxyVirtualCursorChangeEvent(
-    ProxyAccessible* aTarget, ProxyAccessible* aOldPosition,
+    RemoteAccessible* aTarget, RemoteAccessible* aOldPosition,
     int32_t aOldStartOffset, int32_t aOldEndOffset,
-    ProxyAccessible* aNewPosition, int32_t aNewStartOffset,
+    RemoteAccessible* aNewPosition, int32_t aNewStartOffset,
     int32_t aNewEndOffset, int16_t aReason, int16_t aBoundaryType,
     bool aFromUser) {
   if (!aNewPosition || !aFromUser) {
     return;
   }
 
   RefPtr<SessionAccessibility> sessionAcc =
       SessionAccessibility::GetInstanceFor(aTarget);
@@ -155,44 +156,44 @@ void a11y::ProxyVirtualCursorChangeEvent
   }
 
   if (aBoundaryType != nsIAccessiblePivot::NO_BOUNDARY) {
     sessionAcc->SendTextTraversedEvent(WrapperFor(aNewPosition),
                                        aNewStartOffset, aNewEndOffset);
   }
 }
 
-void a11y::ProxyScrollingEvent(ProxyAccessible* aTarget, uint32_t aEventType,
+void a11y::ProxyScrollingEvent(RemoteAccessible* aTarget, uint32_t aEventType,
                                uint32_t aScrollX, uint32_t aScrollY,
                                uint32_t aMaxScrollX, uint32_t aMaxScrollY) {
   if (aEventType == nsIAccessibleEvent::EVENT_SCROLLING) {
     RefPtr<SessionAccessibility> sessionAcc =
         SessionAccessibility::GetInstanceFor(aTarget);
 
     if (sessionAcc) {
       sessionAcc->SendScrollingEvent(WrapperFor(aTarget), aScrollX, aScrollY,
                                      aMaxScrollX, aMaxScrollY);
     }
   }
 }
 
-void a11y::ProxyAnnouncementEvent(ProxyAccessible* aTarget,
+void a11y::ProxyAnnouncementEvent(RemoteAccessible* aTarget,
                                   const nsString& aAnnouncement,
                                   uint16_t aPriority) {
   RefPtr<SessionAccessibility> sessionAcc =
       SessionAccessibility::GetInstanceFor(aTarget);
 
   if (sessionAcc) {
     sessionAcc->SendAnnouncementEvent(WrapperFor(aTarget), aAnnouncement,
                                       aPriority);
   }
 }
 
-void a11y::ProxyBatch(ProxyAccessible* aDocument, const uint64_t aBatchType,
-                      const nsTArray<ProxyAccessible*>& aAccessibles,
+void a11y::ProxyBatch(RemoteAccessible* aDocument, const uint64_t aBatchType,
+                      const nsTArray<RemoteAccessible*>& aAccessibles,
                       const nsTArray<BatchData>& aData) {
   RefPtr<SessionAccessibility> sessionAcc =
       SessionAccessibility::GetInstanceFor(aDocument);
   if (!sessionAcc) {
     return;
   }
 
   nsTArray<AccessibleWrap*> accWraps(aAccessibles.Length());
rename from accessible/android/ProxyAccessibleWrap.cpp
rename to accessible/android/RemoteAccessibleWrap.cpp
--- a/accessible/android/ProxyAccessibleWrap.cpp
+++ b/accessible/android/RemoteAccessibleWrap.cpp
@@ -1,173 +1,174 @@
 /* -*- Mode: c++; c-basic-offset: 2; tab-width: 20; indent-tabs-mode: nil; -*-
  * 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 "ProxyAccessibleWrap.h"
+#include "RemoteAccessibleWrap.h"
 #include "LocalAccessible-inl.h"
 
 #include "nsPersistentProperties.h"
 
 #include "mozilla/a11y/DocAccessiblePlatformExtParent.h"
 
 using namespace mozilla::a11y;
 
-ProxyAccessibleWrap::ProxyAccessibleWrap(ProxyAccessible* aProxy)
+RemoteAccessibleWrap::RemoteAccessibleWrap(RemoteAccessible* aProxy)
     : AccessibleWrap(nullptr, nullptr) {
   mType = eProxyType;
   mBits.proxy = aProxy;
 
   if (aProxy->mHasValue) {
     mStateFlags |= eHasNumericValue;
   }
 
   if (aProxy->mIsSelection) {
     mGenericTypes |= eSelect;
   }
 
   if (aProxy->mIsHyperText) {
     mGenericTypes |= eHyperText;
   }
 
-  auto doc = reinterpret_cast<DocProxyAccessibleWrap*>(
+  auto doc = reinterpret_cast<DocRemoteAccessibleWrap*>(
       Proxy()->Document()->GetWrapper());
   if (doc) {
     mID = AcquireID();
     doc->AddID(mID, this);
   }
 }
 
-void ProxyAccessibleWrap::Shutdown() {
-  auto doc = reinterpret_cast<DocProxyAccessibleWrap*>(
+void RemoteAccessibleWrap::Shutdown() {
+  auto doc = reinterpret_cast<DocRemoteAccessibleWrap*>(
       Proxy()->Document()->GetWrapper());
   if (mID && doc) {
     doc->RemoveID(mID);
     ReleaseID(mID);
     mID = 0;
   }
 
   mBits.proxy = nullptr;
   mStateFlags |= eIsDefunct;
 }
 
 // LocalAccessible
 
-already_AddRefed<nsIPersistentProperties> ProxyAccessibleWrap::Attributes() {
+already_AddRefed<nsIPersistentProperties> RemoteAccessibleWrap::Attributes() {
   AutoTArray<Attribute, 10> attrs;
   Proxy()->Attributes(&attrs);
   return AttributeArrayToProperties(attrs);
 }
 
-uint32_t ProxyAccessibleWrap::ChildCount() const {
+uint32_t RemoteAccessibleWrap::ChildCount() const {
   return Proxy()->ChildrenCount();
 }
 
-LocalAccessible* ProxyAccessibleWrap::LocalChildAt(uint32_t aIndex) const {
-  ProxyAccessible* child = Proxy()->RemoteChildAt(aIndex);
+LocalAccessible* RemoteAccessibleWrap::LocalChildAt(uint32_t aIndex) const {
+  RemoteAccessible* child = Proxy()->RemoteChildAt(aIndex);
   return child ? WrapperFor(child) : nullptr;
 }
 
-ENameValueFlag ProxyAccessibleWrap::Name(nsString& aName) const {
+ENameValueFlag RemoteAccessibleWrap::Name(nsString& aName) const {
   Proxy()->Name(aName);
   return eNameOK;
 }
 
-void ProxyAccessibleWrap::Value(nsString& aValue) const {
+void RemoteAccessibleWrap::Value(nsString& aValue) const {
   Proxy()->Value(aValue);
 }
 
-uint64_t ProxyAccessibleWrap::State() { return Proxy()->State(); }
+uint64_t RemoteAccessibleWrap::State() { return Proxy()->State(); }
 
-nsIntRect ProxyAccessibleWrap::Bounds() const { return Proxy()->Bounds(); }
+nsIntRect RemoteAccessibleWrap::Bounds() const { return Proxy()->Bounds(); }
 
-void ProxyAccessibleWrap::ScrollTo(uint32_t aHow) const {
+void RemoteAccessibleWrap::ScrollTo(uint32_t aHow) const {
   Proxy()->ScrollTo(aHow);
 }
 
-uint8_t ProxyAccessibleWrap::ActionCount() const {
+uint8_t RemoteAccessibleWrap::ActionCount() const {
   return Proxy()->ActionCount();
 }
 
-bool ProxyAccessibleWrap::DoAction(uint8_t aIndex) const {
+bool RemoteAccessibleWrap::DoAction(uint8_t aIndex) const {
   return Proxy()->DoAction(aIndex);
 }
 
 // Other
 
-void ProxyAccessibleWrap::SetTextContents(const nsAString& aText) {
+void RemoteAccessibleWrap::SetTextContents(const nsAString& aText) {
   Proxy()->ReplaceText(PromiseFlatString(aText));
 }
 
-void ProxyAccessibleWrap::GetTextContents(nsAString& aText) {
+void RemoteAccessibleWrap::GetTextContents(nsAString& aText) {
   nsAutoString text;
   Proxy()->TextSubstring(0, -1, text);
   aText.Assign(text);
 }
 
-bool ProxyAccessibleWrap::GetSelectionBounds(int32_t* aStartOffset,
-                                             int32_t* aEndOffset) {
+bool RemoteAccessibleWrap::GetSelectionBounds(int32_t* aStartOffset,
+                                              int32_t* aEndOffset) {
   nsAutoString unused;
   return Proxy()->SelectionBoundsAt(0, unused, aStartOffset, aEndOffset);
 }
 
-void ProxyAccessibleWrap::PivotTo(int32_t aGranularity, bool aForward,
-                                  bool aInclusive) {
+void RemoteAccessibleWrap::PivotTo(int32_t aGranularity, bool aForward,
+                                   bool aInclusive) {
   Unused << Proxy()->Document()->GetPlatformExtension()->SendPivot(
       Proxy()->ID(), aGranularity, aForward, aInclusive);
 }
 
-void ProxyAccessibleWrap::ExploreByTouch(float aX, float aY) {
+void RemoteAccessibleWrap::ExploreByTouch(float aX, float aY) {
   Unused << Proxy()->Document()->GetPlatformExtension()->SendExploreByTouch(
       Proxy()->ID(), aX, aY);
 }
 
-void ProxyAccessibleWrap::NavigateText(int32_t aGranularity,
-                                       int32_t aStartOffset, int32_t aEndOffset,
-                                       bool aForward, bool aSelect) {
+void RemoteAccessibleWrap::NavigateText(int32_t aGranularity,
+                                        int32_t aStartOffset,
+                                        int32_t aEndOffset, bool aForward,
+                                        bool aSelect) {
   Unused << Proxy()->Document()->GetPlatformExtension()->SendNavigateText(
       Proxy()->ID(), aGranularity, aStartOffset, aEndOffset, aForward, aSelect);
 }
 
-void ProxyAccessibleWrap::SetSelection(int32_t aStart, int32_t aEnd) {
+void RemoteAccessibleWrap::SetSelection(int32_t aStart, int32_t aEnd) {
   Unused << Proxy()->Document()->GetPlatformExtension()->SendSetSelection(
       Proxy()->ID(), aStart, aEnd);
 }
 
-void ProxyAccessibleWrap::Cut() {
+void RemoteAccessibleWrap::Cut() {
   Unused << Proxy()->Document()->GetPlatformExtension()->SendCut(Proxy()->ID());
 }
 
-void ProxyAccessibleWrap::Copy() {
+void RemoteAccessibleWrap::Copy() {
   Unused << Proxy()->Document()->GetPlatformExtension()->SendCopy(
       Proxy()->ID());
 }
 
-void ProxyAccessibleWrap::Paste() {
+void RemoteAccessibleWrap::Paste() {
   Unused << Proxy()->Document()->GetPlatformExtension()->SendPaste(
       Proxy()->ID());
 }
 
-role ProxyAccessibleWrap::WrapperRole() { return Proxy()->Role(); }
+role RemoteAccessibleWrap::WrapperRole() { return Proxy()->Role(); }
 
-AccessibleWrap* ProxyAccessibleWrap::WrapperParent() {
+AccessibleWrap* RemoteAccessibleWrap::WrapperParent() {
   return Proxy()->RemoteParent() ? WrapperFor(Proxy()->RemoteParent())
                                  : nullptr;
 }
 
-bool ProxyAccessibleWrap::WrapperRangeInfo(double* aCurVal, double* aMinVal,
-                                           double* aMaxVal, double* aStep) {
+bool RemoteAccessibleWrap::WrapperRangeInfo(double* aCurVal, double* aMinVal,
+                                            double* aMaxVal, double* aStep) {
   if (HasNumericValue()) {
-    ProxyAccessible* proxy = Proxy();
+    RemoteAccessible* proxy = Proxy();
     *aCurVal = proxy->CurValue();
     *aMinVal = proxy->MinValue();
     *aMaxVal = proxy->MaxValue();
     *aStep = proxy->Step();
     return true;
   }
 
   return false;
 }
 
-void ProxyAccessibleWrap::WrapperDOMNodeID(nsString& aDOMNodeID) {
+void RemoteAccessibleWrap::WrapperDOMNodeID(nsString& aDOMNodeID) {
   Proxy()->DOMNodeID(aDOMNodeID);
 }
rename from accessible/android/ProxyAccessibleWrap.h
rename to accessible/android/RemoteAccessibleWrap.h
--- a/accessible/android/ProxyAccessibleWrap.h
+++ b/accessible/android/RemoteAccessibleWrap.h
@@ -1,34 +1,34 @@
 /* -*- 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/. *
  */
 
-#ifndef MOZILLA_A11Y_ProxyAccessibleWrap_h
-#define MOZILLA_A11Y_ProxyAccessibleWrap_h
+#ifndef MOZILLA_A11Y_RemoteAccessibleWrap_h
+#define MOZILLA_A11Y_RemoteAccessibleWrap_h
 
 #include "AccessibleWrap.h"
 #include "DocAccessibleParent.h"
 
 namespace mozilla {
 namespace a11y {
 
 /**
  * A wrapper for Accessible proxies. The public methods here should be
  * overriden from AccessibleWrap or its super classes. This gives us an
  * abstraction layer so SessionAccessibility doesn't have to distinguish between
  * a local or remote accessibles. NOTE: This shouldn't be regarded as a full
  * Accessible implementation.
  */
-class ProxyAccessibleWrap : public AccessibleWrap {
+class RemoteAccessibleWrap : public AccessibleWrap {
  public:
-  explicit ProxyAccessibleWrap(ProxyAccessible* aProxy);
+  explicit RemoteAccessibleWrap(RemoteAccessible* aProxy);
 
   virtual void Shutdown() override;
 
   // LocalAccessible
 
   virtual already_AddRefed<nsIPersistentProperties> Attributes() override;
 
   virtual uint32_t ChildCount() const override;
@@ -82,20 +82,20 @@ class ProxyAccessibleWrap : public Acces
   virtual role WrapperRole() override;
 
   virtual AccessibleWrap* WrapperParent() override;
 
   virtual bool WrapperRangeInfo(double* aCurVal, double* aMinVal,
                                 double* aMaxVal, double* aStep) override;
 };
 
-class DocProxyAccessibleWrap : public ProxyAccessibleWrap {
+class DocRemoteAccessibleWrap : public RemoteAccessibleWrap {
  public:
-  explicit DocProxyAccessibleWrap(DocAccessibleParent* aProxy)
-      : ProxyAccessibleWrap(aProxy) {
+  explicit DocRemoteAccessibleWrap(DocAccessibleParent* aProxy)
+      : RemoteAccessibleWrap(aProxy) {
     mGenericTypes |= eDocument;
 
     if (aProxy->IsTopLevel()) {
       mID = kNoID;
     } else {
       mID = AcquireID();
     }
   }
@@ -108,30 +108,30 @@ class DocProxyAccessibleWrap : public Pr
         ReleaseID(mID);
       }
     }
     mID = 0;
     mBits.proxy = nullptr;
     mStateFlags |= eIsDefunct;
   }
 
-  DocProxyAccessibleWrap* ParentDocument() {
+  DocRemoteAccessibleWrap* ParentDocument() {
     DocAccessibleParent* proxy = static_cast<DocAccessibleParent*>(Proxy());
     MOZ_ASSERT(proxy);
     if (DocAccessibleParent* parent = proxy->ParentDoc()) {
-      return reinterpret_cast<DocProxyAccessibleWrap*>(parent->GetWrapper());
+      return reinterpret_cast<DocRemoteAccessibleWrap*>(parent->GetWrapper());
     }
 
     return nullptr;
   }
 
-  DocProxyAccessibleWrap* GetChildDocumentAt(uint32_t aIndex) {
+  DocRemoteAccessibleWrap* GetChildDocumentAt(uint32_t aIndex) {
     auto doc = Proxy()->AsDoc();
     if (doc && doc->ChildDocCount() > aIndex) {
-      return reinterpret_cast<DocProxyAccessibleWrap*>(
+      return reinterpret_cast<DocRemoteAccessibleWrap*>(
           doc->ChildDocAt(aIndex)->GetWrapper());
     }
 
     return nullptr;
   }
 
   void AddID(uint32_t aID, AccessibleWrap* aAcc) {
     mIDToAccessibleMap.Put(aID, aAcc);
--- a/accessible/android/RootAccessibleWrap.cpp
+++ b/accessible/android/RootAccessibleWrap.cpp
@@ -4,31 +4,31 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "RootAccessibleWrap.h"
 
 #include "LocalAccessible-inl.h"
 #include "AccessibleOrProxy.h"
 #include "DocAccessibleParent.h"
 #include "DocAccessible-inl.h"
-#include "ProxyAccessibleWrap.h"
+#include "RemoteAccessibleWrap.h"
 #include "SessionAccessibility.h"
 #include "mozilla/PresShell.h"
 
 using namespace mozilla;
 using namespace mozilla::a11y;
 
 RootAccessibleWrap::RootAccessibleWrap(dom::Document* aDoc,
                                        PresShell* aPresShell)
     : RootAccessible(aDoc, aPresShell) {}
 
 RootAccessibleWrap::~RootAccessibleWrap() {}
 
 AccessibleWrap* RootAccessibleWrap::GetContentAccessible() {
-  if (ProxyAccessible* proxy = GetPrimaryRemoteTopLevelContentDoc()) {
+  if (RemoteAccessible* proxy = GetPrimaryRemoteTopLevelContentDoc()) {
     return WrapperFor(proxy);
   }
 
   // Find first document that is not defunct or hidden.
   // This is exclusively for Fennec which has a deck of browser elements.
   // Otherwise, standard GeckoView will only have one browser element.
   for (size_t i = 0; i < ChildDocumentCount(); i++) {
     DocAccessible* childDoc = GetChildDocumentAt(i);
@@ -47,31 +47,31 @@ AccessibleWrap* RootAccessibleWrap::Find
     return nullptr;
   }
 
   if (aID == AccessibleWrap::kNoID) {
     return contentAcc;
   }
 
   if (contentAcc->IsProxy()) {
-    return FindAccessibleById(static_cast<DocProxyAccessibleWrap*>(contentAcc),
+    return FindAccessibleById(static_cast<DocRemoteAccessibleWrap*>(contentAcc),
                               aID);
   }
 
   return FindAccessibleById(
       static_cast<DocAccessibleWrap*>(contentAcc->AsDoc()), aID);
 }
 
 AccessibleWrap* RootAccessibleWrap::FindAccessibleById(
-    DocProxyAccessibleWrap* aDoc, int32_t aID) {
+    DocRemoteAccessibleWrap* aDoc, int32_t aID) {
   AccessibleWrap* acc = aDoc->GetAccessibleByID(aID);
   uint32_t index = 0;
   while (!acc) {
-    auto child =
-        static_cast<DocProxyAccessibleWrap*>(aDoc->GetChildDocumentAt(index++));
+    auto child = static_cast<DocRemoteAccessibleWrap*>(
+        aDoc->GetChildDocumentAt(index++));
     if (!child) {
       break;
     }
     // A child document's id is not in its parent document's hash table.
     if (child->VirtualViewID() == aID) {
       acc = child;
     } else {
       acc = FindAccessibleById(child, aID);
--- a/accessible/android/RootAccessibleWrap.h
+++ b/accessible/android/RootAccessibleWrap.h
@@ -9,31 +9,31 @@
 #include "RootAccessible.h"
 
 namespace mozilla {
 
 class PresShell;
 
 namespace a11y {
 
-class DocProxyAccessibleWrap;
+class DocRemoteAccessibleWrap;
 
 class RootAccessibleWrap : public RootAccessible {
  public:
   RootAccessibleWrap(dom::Document* aDocument, PresShell* aPresShell);
   virtual ~RootAccessibleWrap();
 
   AccessibleWrap* GetContentAccessible();
 
   AccessibleWrap* FindAccessibleById(int32_t aID);
 
   // Recursively searches for the accessible ID within the document tree.
   AccessibleWrap* FindAccessibleById(DocAccessibleWrap* aDocument, int32_t aID);
 
   // Recursively searches for the accessible ID within the proxy document tree.
-  AccessibleWrap* FindAccessibleById(DocProxyAccessibleWrap* aDocument,
+  AccessibleWrap* FindAccessibleById(DocRemoteAccessibleWrap* aDocument,
                                      int32_t aID);
 };
 
 }  // namespace a11y
 }  // namespace mozilla
 
 #endif
--- a/accessible/android/SessionAccessibility.cpp
+++ b/accessible/android/SessionAccessibility.cpp
@@ -156,17 +156,17 @@ void SessionAccessibility::Copy(int32_t 
   FORWARD_ACTION_TO_ACCESSIBLE(Copy);
 }
 
 void SessionAccessibility::Paste(int32_t aID) {
   FORWARD_ACTION_TO_ACCESSIBLE(Paste);
 }
 
 RefPtr<SessionAccessibility> SessionAccessibility::GetInstanceFor(
-    ProxyAccessible* aAccessible) {
+    RemoteAccessible* aAccessible) {
   auto tab =
       static_cast<dom::BrowserParent*>(aAccessible->Document()->Manager());
   dom::Element* frame = tab->GetOwnerElement();
   MOZ_ASSERT(frame);
   if (!frame) {
     return nullptr;
   }
 
--- a/accessible/android/SessionAccessibility.h
+++ b/accessible/android/SessionAccessibility.h
@@ -11,17 +11,17 @@
 #include "nsAppShell.h"
 #include "nsThreadUtils.h"
 #include "nsWindow.h"
 
 namespace mozilla {
 namespace a11y {
 
 class AccessibleWrap;
-class ProxyAccessible;
+class RemoteAccessible;
 class RootAccessibleWrap;
 class BatchData;
 
 class SessionAccessibility final
     : public java::SessionAccessibility::NativeProvider::Natives<
           SessionAccessibility> {
  public:
   typedef java::SessionAccessibility::NativeProvider::Natives<
@@ -38,17 +38,17 @@ class SessionAccessibility final
 
   const java::SessionAccessibility::NativeProvider::Ref&
   GetJavaAccessibility() {
     return mSessionAccessibility;
   }
 
   static void Init();
   static RefPtr<SessionAccessibility> GetInstanceFor(
-      ProxyAccessible* aAccessible);
+      RemoteAccessible* aAccessible);
   static RefPtr<SessionAccessibility> GetInstanceFor(
       LocalAccessible* aAccessible);
 
   // Native implementations
   using Base::AttachNative;
   using Base::DisposeNative;
   jni::Object::LocalRef GetNodeInfo(int32_t aID);
   void SetText(int32_t aID, jni::String::Param aText);
--- a/accessible/android/moz.build
+++ b/accessible/android/moz.build
@@ -10,17 +10,17 @@ EXPORTS.mozilla.a11y += [
     "SessionAccessibility.h",
     "TraversalRule.h",
 ]
 
 SOURCES += [
     "AccessibleWrap.cpp",
     "DocAccessibleWrap.cpp",
     "Platform.cpp",
-    "ProxyAccessibleWrap.cpp",
+    "RemoteAccessibleWrap.cpp",
     "RootAccessibleWrap.cpp",
     "SessionAccessibility.cpp",
     "TraversalRule.cpp",
 ]
 
 LOCAL_INCLUDES += [
     "/accessible/base",
     "/accessible/generic",
--- a/accessible/atk/AccessibleWrap.cpp
+++ b/accessible/atk/AccessibleWrap.cpp
@@ -7,17 +7,17 @@
 #include "AccessibleWrap.h"
 
 #include "LocalAccessible-inl.h"
 #include "ApplicationAccessibleWrap.h"
 #include "InterfaceInitFuncs.h"
 #include "nsAccUtils.h"
 #include "mozilla/a11y/PDocAccessible.h"
 #include "OuterDocAccessible.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "DocAccessibleParent.h"
 #include "RootAccessible.h"
 #include "TableAccessible.h"
 #include "TableCellAccessible.h"
 #include "nsMai.h"
 #include "nsMaiHyperlink.h"
 #include "nsString.h"
 #include "nsStateMap.h"
@@ -513,17 +513,17 @@ void finalizeCB(GObject* aObj) {
   }
 }
 
 const gchar* getNameCB(AtkObject* aAtkObj) {
   nsAutoString name;
   AccessibleWrap* accWrap = GetAccessibleWrap(aAtkObj);
   if (accWrap) {
     accWrap->Name(name);
-  } else if (ProxyAccessible* proxy = GetProxy(aAtkObj)) {
+  } else if (RemoteAccessible* proxy = GetProxy(aAtkObj)) {
     proxy->Name(name);
   } else {
     return nullptr;
   }
 
   // XXX Firing an event from here does not seem right
   MaybeFireNameChange(aAtkObj, name);
 
@@ -554,17 +554,17 @@ static void MaybeFireNameChange(AtkObjec
 
 const gchar* getDescriptionCB(AtkObject* aAtkObj) {
   nsAutoString uniDesc;
   AccessibleWrap* accWrap = GetAccessibleWrap(aAtkObj);
   if (accWrap) {
     if (accWrap->IsDefunct()) return nullptr;
 
     accWrap->Description(uniDesc);
-  } else if (ProxyAccessible* proxy = GetProxy(aAtkObj)) {
+  } else if (RemoteAccessible* proxy = GetProxy(aAtkObj)) {
     proxy->Description(uniDesc);
   } else {
     return nullptr;
   }
 
   NS_ConvertUTF8toUTF16 objDesc(aAtkObj->description);
   if (!uniDesc.Equals(objDesc)) {
     atk_object_set_description(aAtkObj, NS_ConvertUTF16toUTF8(uniDesc).get());
@@ -682,17 +682,17 @@ AtkAttributeSet* GetAttributeSet(LocalAc
 
   return nullptr;
 }
 
 AtkAttributeSet* getAttributesCB(AtkObject* aAtkObj) {
   AccessibleWrap* accWrap = GetAccessibleWrap(aAtkObj);
   if (accWrap) return GetAttributeSet(accWrap);
 
-  ProxyAccessible* proxy = GetProxy(aAtkObj);
+  RemoteAccessible* proxy = GetProxy(aAtkObj);
   if (!proxy) return nullptr;
 
   AutoTArray<Attribute, 10> attrs;
   proxy->Attributes(&attrs);
   if (attrs.IsEmpty()) return nullptr;
 
   AtkAttributeSet* objAttributeSet = nullptr;
   for (uint32_t i = 0; i < attrs.Length(); i++) {
@@ -745,17 +745,17 @@ gint getChildCountCB(AtkObject* aAtkObj)
     }
 
     OuterDocAccessible* outerDoc = accWrap->AsOuterDoc();
     if (outerDoc && outerDoc->RemoteChildDoc()) {
       return 1;
     }
   }
 
-  ProxyAccessible* proxy = GetProxy(aAtkObj);
+  RemoteAccessible* proxy = GetProxy(aAtkObj);
   if (proxy && !nsAccUtils::MustPrune(proxy)) {
     return proxy->EmbeddedChildCount();
   }
 
   return 0;
 }
 
 AtkObject* refChildCB(AtkObject* aAtkObj, gint aChildIndex) {
@@ -772,26 +772,26 @@ AtkObject* refChildCB(AtkObject* aAtkObj
     }
 
     LocalAccessible* accChild = accWrap->GetEmbeddedChildAt(aChildIndex);
     if (accChild) {
       childAtkObj = AccessibleWrap::GetAtkObject(accChild);
     } else {
       OuterDocAccessible* docOwner = accWrap->AsOuterDoc();
       if (docOwner) {
-        ProxyAccessible* proxyDoc = docOwner->RemoteChildDoc();
+        RemoteAccessible* proxyDoc = docOwner->RemoteChildDoc();
         if (proxyDoc) childAtkObj = GetWrapperFor(proxyDoc);
       }
     }
-  } else if (ProxyAccessible* proxy = GetProxy(aAtkObj)) {
+  } else if (RemoteAccessible* proxy = GetProxy(aAtkObj)) {
     if (nsAccUtils::MustPrune(proxy)) {
       return nullptr;
     }
 
-    ProxyAccessible* child = proxy->EmbeddedChildAt(aChildIndex);
+    RemoteAccessible* child = proxy->EmbeddedChildAt(aChildIndex);
     if (child) childAtkObj = GetWrapperFor(child);
   } else {
     return nullptr;
   }
 
   NS_ASSERTION(childAtkObj, "Fail to get AtkObj");
   if (!childAtkObj) return nullptr;
 
@@ -802,18 +802,18 @@ AtkObject* refChildCB(AtkObject* aAtkObj
   }
 
   return childAtkObj;
 }
 
 gint getIndexInParentCB(AtkObject* aAtkObj) {
   // We don't use LocalAccessible::IndexInParent() because we don't include text
   // leaf nodes as children in ATK.
-  if (ProxyAccessible* proxy = GetProxy(aAtkObj)) {
-    if (ProxyAccessible* parent = proxy->RemoteParent()) {
+  if (RemoteAccessible* proxy = GetProxy(aAtkObj)) {
+    if (RemoteAccessible* parent = proxy->RemoteParent()) {
       return parent->IndexOfEmbeddedChild(proxy);
     }
 
     if (proxy->OuterDocOfRemoteBrowser()) {
       return 0;
     }
 
     return -1;
@@ -858,17 +858,17 @@ static void TranslateStates(uint64_t aSt
 
 AtkStateSet* refStateSetCB(AtkObject* aAtkObj) {
   AtkStateSet* state_set = nullptr;
   state_set = ATK_OBJECT_CLASS(parent_class)->ref_state_set(aAtkObj);
 
   AccessibleWrap* accWrap = GetAccessibleWrap(aAtkObj);
   if (accWrap) {
     TranslateStates(accWrap->State(), accWrap->Role(), state_set);
-  } else if (ProxyAccessible* proxy = GetProxy(aAtkObj)) {
+  } else if (RemoteAccessible* proxy = GetProxy(aAtkObj)) {
     TranslateStates(proxy->State(), proxy->Role(), state_set);
   } else {
     TranslateStates(states::DEFUNCT, roles::NOTHING, state_set);
   }
 
   return state_set;
 }
 
@@ -884,17 +884,17 @@ static void UpdateAtkRelation(RelationTy
   Relation rel(aAcc->RelationByType(aType));
   nsTArray<AtkObject*> targets;
   LocalAccessible* tempAcc = nullptr;
   while ((tempAcc = rel.Next())) {
     targets.AppendElement(AccessibleWrap::GetAtkObject(tempAcc));
   }
 
   if (aType == RelationType::EMBEDS && aAcc->IsRoot()) {
-    if (ProxyAccessible* proxyDoc =
+    if (RemoteAccessible* proxyDoc =
             aAcc->AsRoot()->GetPrimaryRemoteTopLevelContentDoc()) {
       targets.AppendElement(GetWrapperFor(proxyDoc));
     }
   }
 
   if (targets.Length()) {
     atkRelation =
         atk_relation_new(targets.Elements(), targets.Length(), aAtkType);
@@ -908,19 +908,19 @@ AtkRelationSet* refRelationSetCB(AtkObje
       ATK_OBJECT_CLASS(parent_class)->ref_relation_set(aAtkObj);
 
   const AtkRelationType typeMap[] = {
 #define RELATIONTYPE(gecko, s, atk, m, i) atk,
 #include "RelationTypeMap.h"
 #undef RELATIONTYPE
   };
 
-  if (ProxyAccessible* proxy = GetProxy(aAtkObj)) {
+  if (RemoteAccessible* proxy = GetProxy(aAtkObj)) {
     nsTArray<RelationType> types;
-    nsTArray<nsTArray<ProxyAccessible*>> targetSets;
+    nsTArray<nsTArray<RemoteAccessible*>> targetSets;
     proxy->Relations(&types, &targetSets);
 
     size_t relationCount = types.Length();
     for (size_t i = 0; i < relationCount; i++) {
       if (typeMap[static_cast<uint32_t>(types[i])] == ATK_RELATION_NULL) {
         continue;
       }
 
@@ -975,39 +975,39 @@ AccessibleWrap* GetAccessibleWrap(AtkObj
   NS_ENSURE_TRUE(accWrap->GetAtkObject() == aAtkObj, nullptr);
 
   AccessibleWrap* appAccWrap = ApplicationAcc();
   if (appAccWrap != accWrap && !accWrap->IsValidObject()) return nullptr;
 
   return accWrap;
 }
 
-ProxyAccessible* GetProxy(AtkObject* aObj) {
+RemoteAccessible* GetProxy(AtkObject* aObj) {
   return GetInternalObj(aObj).AsProxy();
 }
 
 AccessibleOrProxy GetInternalObj(AtkObject* aObj) {
   if (!aObj || !IS_MAI_OBJECT(aObj)) return nullptr;
 
   return MAI_ATK_OBJECT(aObj)->accWrap;
 }
 
-AtkObject* GetWrapperFor(ProxyAccessible* aProxy) {
+AtkObject* GetWrapperFor(RemoteAccessible* aProxy) {
   return reinterpret_cast<AtkObject*>(aProxy->GetWrapper() & ~IS_PROXY);
 }
 
 AtkObject* GetWrapperFor(AccessibleOrProxy aObj) {
   if (aObj.IsProxy()) {
     return GetWrapperFor(aObj.AsProxy());
   }
 
   return AccessibleWrap::GetAtkObject(aObj.AsAccessible());
 }
 
-static uint16_t GetInterfacesForProxy(ProxyAccessible* aProxy,
+static uint16_t GetInterfacesForProxy(RemoteAccessible* aProxy,
                                       uint32_t aInterfaces) {
   uint16_t interfaces = 1 << MAI_INTERFACE_COMPONENT;
   if (aInterfaces & Interfaces::HYPERTEXT) {
     interfaces |= (1 << MAI_INTERFACE_HYPERTEXT) | (1 << MAI_INTERFACE_TEXT) |
                   (1 << MAI_INTERFACE_EDITABLE_TEXT);
   }
 
   if (aInterfaces & Interfaces::HYPERLINK) {
@@ -1034,31 +1034,31 @@ static uint16_t GetInterfacesForProxy(Pr
 
   if (aInterfaces & Interfaces::ACTION) {
     interfaces |= 1 << MAI_INTERFACE_ACTION;
   }
 
   return interfaces;
 }
 
-void a11y::ProxyCreated(ProxyAccessible* aProxy, uint32_t aInterfaces) {
+void a11y::ProxyCreated(RemoteAccessible* aProxy, uint32_t aInterfaces) {
   GType type = GetMaiAtkType(GetInterfacesForProxy(aProxy, aInterfaces));
   NS_ASSERTION(type, "why don't we have a type!");
 
   AtkObject* obj = reinterpret_cast<AtkObject*>(g_object_new(type, nullptr));
   if (!obj) return;
 
   uintptr_t inner = reinterpret_cast<uintptr_t>(aProxy) | IS_PROXY;
   atk_object_initialize(obj, reinterpret_cast<gpointer>(inner));
   obj->role = ATK_ROLE_INVALID;
   obj->layer = ATK_LAYER_INVALID;
   aProxy->SetWrapper(reinterpret_cast<uintptr_t>(obj) | IS_PROXY);
 }
 
-void a11y::ProxyDestroyed(ProxyAccessible* aProxy) {
+void a11y::ProxyDestroyed(RemoteAccessible* aProxy) {
   auto obj = reinterpret_cast<MaiAtkObject*>(aProxy->GetWrapper() & ~IS_PROXY);
   if (!obj) {
     return;
   }
 
   obj->Shutdown();
   g_object_unref(obj);
   aProxy->SetWrapper(0);
@@ -1335,17 +1335,17 @@ nsresult AccessibleWrap::HandleAccEvent(
       atk_object_notify_state_change(atkObj, ATK_STATE_VISIBLE, false);
       atk_object_notify_state_change(atkObj, ATK_STATE_SHOWING, false);
       break;
   }
 
   return NS_OK;
 }
 
-void a11y::ProxyEvent(ProxyAccessible* aTarget, uint32_t aEventType) {
+void a11y::ProxyEvent(RemoteAccessible* aTarget, uint32_t aEventType) {
   AtkObject* wrapper = GetWrapperFor(aTarget);
 
   switch (aEventType) {
     case nsIAccessibleEvent::EVENT_FOCUS:
       atk_focus_tracker_notify(wrapper);
       atk_object_notify_state_change(wrapper, ATK_STATE_FOCUSED, true);
       break;
     case nsIAccessibleEvent::EVENT_DOCUMENT_LOAD_COMPLETE:
@@ -1380,23 +1380,23 @@ void a11y::ProxyEvent(ProxyAccessible* a
       g_signal_emit_by_name(wrapper, "selection_changed");
       break;
     case nsIAccessibleEvent::EVENT_TEXT_ATTRIBUTE_CHANGED:
       g_signal_emit_by_name(wrapper, "text-attributes-changed");
       break;
   }
 }
 
-void a11y::ProxyStateChangeEvent(ProxyAccessible* aTarget, uint64_t aState,
+void a11y::ProxyStateChangeEvent(RemoteAccessible* aTarget, uint64_t aState,
                                  bool aEnabled) {
   MaiAtkObject* atkObj = MAI_ATK_OBJECT(GetWrapperFor(aTarget));
   atkObj->FireStateChangeEvent(aState, aEnabled);
 }
 
-void a11y::ProxyCaretMoveEvent(ProxyAccessible* aTarget, int32_t aOffset,
+void a11y::ProxyCaretMoveEvent(RemoteAccessible* aTarget, int32_t aOffset,
                                bool aIsSelectionCollapsed) {
   AtkObject* wrapper = GetWrapperFor(aTarget);
   g_signal_emit_by_name(wrapper, "text_caret_moved", aOffset);
 }
 
 void MaiAtkObject::FireStateChangeEvent(uint64_t aState, bool aEnabled) {
   auto state = aState;
   int32_t stateIndex = -1;
@@ -1421,17 +1421,17 @@ void MaiAtkObject::FireStateChangeEvent(
     }
 
     // Fire state change for first state if there is one to map
     atk_object_notify_state_change(&parent, gAtkStateMap[stateIndex].atkState,
                                    aEnabled);
   }
 }
 
-void a11y::ProxyTextChangeEvent(ProxyAccessible* aTarget, const nsString& aStr,
+void a11y::ProxyTextChangeEvent(RemoteAccessible* aTarget, const nsString& aStr,
                                 int32_t aStart, uint32_t aLen, bool aIsInsert,
                                 bool aFromUser) {
   MaiAtkObject* atkObj = MAI_ATK_OBJECT(GetWrapperFor(aTarget));
   atkObj->FireTextChangeEvent(aStr, aStart, aLen, aIsInsert, aFromUser);
 }
 
 #define OLD_TEXT_INSERTED "text_changed::insert"
 #define OLD_TEXT_REMOVED "text_changed::delete"
@@ -1463,18 +1463,18 @@ void MaiAtkObject::FireTextChangeEvent(c
     g_signal_emit_by_name(this, signal_name, aStart, aLen);
   } else {
     const char* signal_name = textChangedStrings[aFromUser][aIsInsert];
     g_signal_emit_by_name(this, signal_name, aStart, aLen,
                           NS_ConvertUTF16toUTF8(aStr).get());
   }
 }
 
-void a11y::ProxyShowHideEvent(ProxyAccessible* aTarget,
-                              ProxyAccessible* aParent, bool aInsert,
+void a11y::ProxyShowHideEvent(RemoteAccessible* aTarget,
+                              RemoteAccessible* aParent, bool aInsert,
                               bool aFromUser) {
   MaiAtkObject* obj = MAI_ATK_OBJECT(GetWrapperFor(aTarget));
   obj->FireAtkShowHideEvent(GetWrapperFor(aParent), aInsert, aFromUser);
 }
 
 #define ADD_EVENT "children_changed::add"
 #define HIDE_EVENT "children_changed::remove"
 
@@ -1485,17 +1485,17 @@ static const char* kMutationStrings[2][2
 
 void MaiAtkObject::FireAtkShowHideEvent(AtkObject* aParent, bool aIsAdded,
                                         bool aFromUser) {
   int32_t indexInParent = getIndexInParentCB(&this->parent);
   const char* signal_name = kMutationStrings[aFromUser][aIsAdded];
   g_signal_emit_by_name(aParent, signal_name, indexInParent, this, nullptr);
 }
 
-void a11y::ProxySelectionEvent(ProxyAccessible*, ProxyAccessible* aWidget,
+void a11y::ProxySelectionEvent(RemoteAccessible*, RemoteAccessible* aWidget,
                                uint32_t) {
   MaiAtkObject* obj = MAI_ATK_OBJECT(GetWrapperFor(aWidget));
   g_signal_emit_by_name(obj, "selection_changed");
 }
 
 // static
 void AccessibleWrap::GetKeyBinding(LocalAccessible* aAccessible,
                                    nsAString& aResult) {
--- a/accessible/atk/nsMai.h
+++ b/accessible/atk/nsMai.h
@@ -11,17 +11,17 @@
 #include <glib.h>
 #include <glib-object.h>
 
 #include "AccessibleOrProxy.h"
 #include "AccessibleWrap.h"
 
 namespace mozilla {
 namespace a11y {
-class ProxyAccessible;
+class RemoteAccessible;
 }
 }  // namespace mozilla
 
 #define MAI_TYPE_ATK_OBJECT (mai_atk_object_get_type())
 #define MAI_ATK_OBJECT(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj), MAI_TYPE_ATK_OBJECT, MaiAtkObject))
 #define MAI_ATK_OBJECT_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_CAST((klass), MAI_TYPE_ATK_OBJECT, MaiAtkObjectClass))
@@ -59,19 +59,19 @@ typedef struct _MaiAtkSocketClass {
   AtkSocketClass parent_class;
 } MaiAtkSocketClass;
 
 // This is a pointer to the atk_table_cell_get_type function if we are using
 // a version of atk that defines that.
 extern "C" GType (*gAtkTableCellGetTypeFunc)();
 
 mozilla::a11y::AccessibleWrap* GetAccessibleWrap(AtkObject* aAtkObj);
-mozilla::a11y::ProxyAccessible* GetProxy(AtkObject* aAtkObj);
+mozilla::a11y::RemoteAccessible* GetProxy(AtkObject* aAtkObj);
 mozilla::a11y::AccessibleOrProxy GetInternalObj(AtkObject* aObj);
-AtkObject* GetWrapperFor(mozilla::a11y::ProxyAccessible* aProxy);
+AtkObject* GetWrapperFor(mozilla::a11y::RemoteAccessible* aProxy);
 AtkObject* GetWrapperFor(mozilla::a11y::AccessibleOrProxy aObj);
 
 extern int atkMajorVersion, atkMinorVersion, atkMicroVersion;
 
 /**
  * Return true if the loaded version of libatk-1.0.so is at least
  * aMajor.aMinor.aMicro.
  */
--- a/accessible/atk/nsMaiHyperlink.cpp
+++ b/accessible/atk/nsMaiHyperlink.cpp
@@ -1,17 +1,17 @@
 /* -*- 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 "nsIURI.h"
 #include "nsMaiHyperlink.h"
-#include "mozilla/a11y/ProxyAccessible.h"
+#include "mozilla/a11y/RemoteAccessible.h"
 
 using namespace mozilla::a11y;
 
 /* MaiAtkHyperlink */
 
 #define MAI_TYPE_ATK_HYPERLINK (mai_atk_hyperlink_get_type())
 #define MAI_ATK_HYPERLINK(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj), MAI_TYPE_ATK_HYPERLINK, MaiAtkHyperlink))
@@ -171,17 +171,17 @@ AtkObject* getObjectCB(AtkHyperlink* aLi
 
   if (LocalAccessible* hyperlink = maiLink->GetAccHyperlink()) {
     LocalAccessible* anchor = hyperlink->AnchorAt(aLinkIndex);
     NS_ENSURE_TRUE(anchor, nullptr);
 
     return AccessibleWrap::GetAtkObject(anchor);
   }
 
-  ProxyAccessible* anchor = maiLink->Proxy()->AnchorAt(aLinkIndex);
+  RemoteAccessible* anchor = maiLink->Proxy()->AnchorAt(aLinkIndex);
   return anchor ? GetWrapperFor(anchor) : nullptr;
 }
 
 gint getEndIndexCB(AtkHyperlink* aLink) {
   MaiHyperlink* maiLink = GetMaiHyperlink(aLink);
   if (!maiLink) return false;
 
   if (LocalAccessible* hyperlink = maiLink->GetAccHyperlink()) {
--- a/accessible/atk/nsMaiHyperlink.h
+++ b/accessible/atk/nsMaiHyperlink.h
@@ -34,17 +34,17 @@ class MaiHyperlink {
     if (!link) {
       return nullptr;
     }
 
     NS_ASSERTION(link->IsLink(), "Why isn't it a link!");
     return link;
   }
 
-  ProxyAccessible* Proxy() const { return mHyperlink.AsProxy(); }
+  RemoteAccessible* Proxy() const { return mHyperlink.AsProxy(); }
 
  protected:
   AccessibleOrProxy mHyperlink;
   AtkHyperlink* mMaiAtkHyperlink;
 };
 
 }  // namespace a11y
 }  // namespace mozilla
--- a/accessible/atk/nsMaiInterfaceAction.cpp
+++ b/accessible/atk/nsMaiInterfaceAction.cpp
@@ -5,78 +5,78 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "InterfaceInitFuncs.h"
 
 #include "LocalAccessible-inl.h"
 #include "nsMai.h"
 #include "Role.h"
 #include "mozilla/Likely.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "nsString.h"
 
 using namespace mozilla::a11y;
 
 extern "C" {
 
 static gboolean doActionCB(AtkAction* aAction, gint aActionIndex) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aAction));
   if (accWrap) {
     return accWrap->DoAction(aActionIndex);
   }
 
-  ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aAction));
+  RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aAction));
   return proxy && proxy->DoAction(aActionIndex);
 }
 
 static gint getActionCountCB(AtkAction* aAction) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aAction));
   if (accWrap) {
     return accWrap->ActionCount();
   }
 
-  ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aAction));
+  RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aAction));
   return proxy ? proxy->ActionCount() : 0;
 }
 
 static const gchar* getActionDescriptionCB(AtkAction* aAction,
                                            gint aActionIndex) {
   nsAutoString description;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aAction));
   if (accWrap) {
     accWrap->ActionDescriptionAt(aActionIndex, description);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aAction))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aAction))) {
     proxy->ActionDescriptionAt(aActionIndex, description);
   } else {
     return nullptr;
   }
 
   return AccessibleWrap::ReturnString(description);
 }
 
 static const gchar* getActionNameCB(AtkAction* aAction, gint aActionIndex) {
   nsAutoString autoStr;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aAction));
   if (accWrap) {
     accWrap->ActionNameAt(aActionIndex, autoStr);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aAction))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aAction))) {
     proxy->ActionNameAt(aActionIndex, autoStr);
   } else {
     return nullptr;
   }
 
   return AccessibleWrap::ReturnString(autoStr);
 }
 
 static const gchar* getKeyBindingCB(AtkAction* aAction, gint aActionIndex) {
   nsAutoString keyBindingsStr;
   AccessibleWrap* acc = GetAccessibleWrap(ATK_OBJECT(aAction));
   if (acc) {
     AccessibleWrap::GetKeyBinding(acc, keyBindingsStr);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aAction))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aAction))) {
     proxy->AtkKeyBinding(keyBindingsStr);
   } else {
     return nullptr;
   }
 
   return AccessibleWrap::ReturnString(keyBindingsStr);
 }
 }
--- a/accessible/atk/nsMaiInterfaceComponent.cpp
+++ b/accessible/atk/nsMaiInterfaceComponent.cpp
@@ -8,17 +8,17 @@
 
 #include "LocalAccessible-inl.h"
 #include "AccessibleWrap.h"
 #include "nsAccUtils.h"
 #include "nsCoreUtils.h"
 #include "nsMai.h"
 #include "mozilla/Likely.h"
 #include "mozilla/a11y/DocAccessibleParent.h"
-#include "mozilla/a11y/ProxyAccessible.h"
+#include "mozilla/a11y/RemoteAccessible.h"
 #include "mozilla/dom/BrowserParent.h"
 
 using namespace mozilla::a11y;
 
 extern "C" {
 
 static AtkObject* refAccessibleAtPointCB(AtkComponent* aComponent, gint aAccX,
                                          gint aAccY, AtkCoordType aCoordType) {
@@ -34,17 +34,17 @@ static void getExtentsCB(AtkComponent* a
 static gboolean grabFocusCB(AtkComponent* aComponent) {
   AtkObject* atkObject = ATK_OBJECT(aComponent);
   AccessibleWrap* accWrap = GetAccessibleWrap(atkObject);
   if (accWrap) {
     accWrap->TakeFocus();
     return TRUE;
   }
 
-  ProxyAccessible* proxy = GetProxy(atkObject);
+  RemoteAccessible* proxy = GetProxy(atkObject);
   if (proxy) {
     proxy->TakeFocus();
     return TRUE;
   }
 
   return FALSE;
 }
 
@@ -52,17 +52,17 @@ static gboolean grabFocusCB(AtkComponent
 MOZ_CAN_RUN_SCRIPT_BOUNDARY
 static gboolean scrollToCB(AtkComponent* aComponent, AtkScrollType type) {
   AtkObject* atkObject = ATK_OBJECT(aComponent);
   if (RefPtr<AccessibleWrap> accWrap = GetAccessibleWrap(atkObject)) {
     accWrap->ScrollTo(type);
     return TRUE;
   }
 
-  ProxyAccessible* proxy = GetProxy(atkObject);
+  RemoteAccessible* proxy = GetProxy(atkObject);
   if (proxy) {
     proxy->ScrollTo(type);
     return TRUE;
   }
 
   return FALSE;
 }
 
@@ -71,17 +71,17 @@ static gboolean scrollToPointCB(AtkCompo
                                 gint x, gint y) {
   AtkObject* atkObject = ATK_OBJECT(aComponent);
   AccessibleWrap* accWrap = GetAccessibleWrap(atkObject);
   if (accWrap) {
     accWrap->ScrollToPoint(coords, x, y);
     return TRUE;
   }
 
-  ProxyAccessible* proxy = GetProxy(atkObject);
+  RemoteAccessible* proxy = GetProxy(atkObject);
   if (proxy) {
     proxy->ScrollToPoint(coords, x, y);
     return TRUE;
   }
 
   return FALSE;
 }
 }
@@ -157,17 +157,17 @@ void getExtentsHelper(AtkObject* aAtkObj
 
     *aX = screenRect.x;
     *aY = screenRect.y;
     *aWidth = screenRect.width;
     *aHeight = screenRect.height;
     return;
   }
 
-  if (ProxyAccessible* proxy = GetProxy(aAtkObj)) {
+  if (RemoteAccessible* proxy = GetProxy(aAtkObj)) {
     proxy->Extents(aCoordType == ATK_XY_WINDOW, aX, aY, aWidth, aHeight);
   }
 }
 
 void componentInterfaceInitCB(AtkComponentIface* aIface) {
   NS_ASSERTION(aIface, "Invalid Interface");
   if (MOZ_UNLIKELY(!aIface)) return;
 
--- a/accessible/atk/nsMaiInterfaceDocument.cpp
+++ b/accessible/atk/nsMaiInterfaceDocument.cpp
@@ -5,17 +5,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "InterfaceInitFuncs.h"
 
 #include "LocalAccessible-inl.h"
 #include "AccessibleWrap.h"
 #include "DocAccessible.h"
 #include "nsMai.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "mozilla/Likely.h"
 
 using namespace mozilla::a11y;
 
 static const char* const kDocTypeName = "W3C-doctype";
 static const char* const kDocUrlName = "DocURL";
 static const char* const kMimeTypeName = "MimeType";
 
@@ -41,17 +41,17 @@ void documentInterfaceInitCB(AtkDocument
   aIface->get_document_locale = getDocumentLocaleCB;
 }
 
 const gchar* getDocumentLocaleCB(AtkDocument* aDocument) {
   nsAutoString locale;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aDocument));
   if (accWrap) {
     accWrap->Language(locale);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aDocument))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aDocument))) {
     proxy->Language(locale);
   }
 
   return locale.IsEmpty() ? nullptr : AccessibleWrap::ReturnString(locale);
 }
 
 static inline GSList* prependToList(GSList* aList, const char* const aName,
                                     const nsAutoString& aValue) {
@@ -75,34 +75,34 @@ AtkAttributeSet* getDocumentAttributesCB
     if (!accWrap->IsDoc()) {
       return nullptr;
     }
 
     DocAccessible* document = accWrap->AsDoc();
     document->URL(url);
     document->DocType(w3cDocType);
     document->MimeType(mimeType);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aDocument))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aDocument))) {
     proxy->URLDocTypeMimeType(url, w3cDocType, mimeType);
   } else {
     return nullptr;
   }
 
   // according to atkobject.h, AtkAttributeSet is a GSList
   GSList* attributes = nullptr;
   attributes = prependToList(attributes, kDocUrlName, url);
   attributes = prependToList(attributes, kDocTypeName, w3cDocType);
   attributes = prependToList(attributes, kMimeTypeName, mimeType);
 
   return attributes;
 }
 
 const gchar* getDocumentAttributeValueCB(AtkDocument* aDocument,
                                          const gchar* aAttrName) {
-  ProxyAccessible* proxy = nullptr;
+  RemoteAccessible* proxy = nullptr;
   DocAccessible* document = nullptr;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aDocument));
   if (accWrap) {
     if (!accWrap->IsDoc()) {
       return nullptr;
     }
 
     document = accWrap->AsDoc();
--- a/accessible/atk/nsMaiInterfaceEditableText.cpp
+++ b/accessible/atk/nsMaiInterfaceEditableText.cpp
@@ -4,109 +4,109 @@
  * 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 "HyperTextAccessible-inl.h"
 #include "nsMai.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "nsString.h"
 #include "mozilla/Likely.h"
 
 using namespace mozilla::a11y;
 
 extern "C" {
 static void setTextContentsCB(AtkEditableText* aText, const gchar* aString) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return;
     }
 
     NS_ConvertUTF8toUTF16 strContent(aString);
     text->ReplaceText(strContent);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     NS_ConvertUTF8toUTF16 strContent(aString);
     proxy->ReplaceText(strContent);
   }
 }
 
 static void insertTextCB(AtkEditableText* aText, const gchar* aString,
                          gint aLength, gint* aPosition) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return;
     }
 
     NS_ConvertUTF8toUTF16 strContent(aString);
     text->InsertText(strContent, *aPosition);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     NS_ConvertUTF8toUTF16 strContent(aString);
     proxy->InsertText(strContent, *aPosition);
   }
 }
 
 static void copyTextCB(AtkEditableText* aText, gint aStartPos, gint aEndPos) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return;
     }
 
     text->CopyText(aStartPos, aEndPos);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     proxy->CopyText(aStartPos, aEndPos);
   }
 }
 
 static void cutTextCB(AtkEditableText* aText, gint aStartPos, gint aEndPos) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return;
     }
 
     text->CutText(aStartPos, aEndPos);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     proxy->CutText(aStartPos, aEndPos);
   }
 }
 
 static void deleteTextCB(AtkEditableText* aText, gint aStartPos, gint aEndPos) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return;
     }
 
     text->DeleteText(aStartPos, aEndPos);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     proxy->DeleteText(aStartPos, aEndPos);
   }
 }
 
 MOZ_CAN_RUN_SCRIPT_BOUNDARY
 static void pasteTextCB(AtkEditableText* aText, gint aPosition) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     RefPtr<HyperTextAccessible> text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return;
     }
 
     text->PasteText(aPosition);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     proxy->PasteText(aPosition);
   }
 }
 }
 
 void editableTextInterfaceInitCB(AtkEditableTextIface* aIface) {
   NS_ASSERTION(aIface, "Invalid aIface");
   if (MOZ_UNLIKELY(!aIface)) return;
--- a/accessible/atk/nsMaiInterfaceHypertext.cpp
+++ b/accessible/atk/nsMaiInterfaceHypertext.cpp
@@ -5,17 +5,17 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "InterfaceInitFuncs.h"
 
 #include "LocalAccessible-inl.h"
 #include "HyperTextAccessible.h"
 #include "nsMai.h"
 #include "nsMaiHyperlink.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "mozilla/Likely.h"
 
 using namespace mozilla::a11y;
 
 extern "C" {
 
 static AtkHyperlink* getLinkCB(AtkHypertext* aText, gint aLinkIndex) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
@@ -25,18 +25,18 @@ static AtkHyperlink* getLinkCB(AtkHypert
     NS_ENSURE_TRUE(hyperText, nullptr);
 
     LocalAccessible* hyperLink = hyperText->LinkAt(aLinkIndex);
     if (!hyperLink || !hyperLink->IsLink()) {
       return nullptr;
     }
 
     atkHyperLink = AccessibleWrap::GetAtkObject(hyperLink);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
-    ProxyAccessible* proxyLink = proxy->LinkAt(aLinkIndex);
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+    RemoteAccessible* proxyLink = proxy->LinkAt(aLinkIndex);
     if (!proxyLink) return nullptr;
 
     atkHyperLink = GetWrapperFor(proxyLink);
   }
 
   NS_ENSURE_TRUE(IS_MAI_OBJECT(atkHyperLink), nullptr);
   return MAI_ATK_OBJECT(atkHyperLink)->GetAtkHyperlink();
 }
@@ -44,33 +44,33 @@ static AtkHyperlink* getLinkCB(AtkHypert
 static gint getLinkCountCB(AtkHypertext* aText) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* hyperText = accWrap->AsHyperText();
     NS_ENSURE_TRUE(hyperText, -1);
     return hyperText->LinkCount();
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     return proxy->LinkCount();
   }
 
   return -1;
 }
 
 static gint getLinkIndexCB(AtkHypertext* aText, gint aCharIndex) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* hyperText = accWrap->AsHyperText();
     NS_ENSURE_TRUE(hyperText, -1);
 
     return hyperText->LinkIndexAtOffset(aCharIndex);
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     return proxy->LinkIndexAtOffset(aCharIndex);
   }
 
   return -1;
 }
 }
 
 void hypertextInterfaceInitCB(AtkHypertextIface* aIface) {
--- a/accessible/atk/nsMaiInterfaceImage.cpp
+++ b/accessible/atk/nsMaiInterfaceImage.cpp
@@ -6,17 +6,17 @@
 
 #include "InterfaceInitFuncs.h"
 
 #include "AccessibleWrap.h"
 #include "ImageAccessible.h"
 #include "mozilla/Likely.h"
 #include "nsMai.h"
 #include "nsIAccessibleTypes.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 
 using namespace mozilla;
 using namespace mozilla::a11y;
 
 extern "C" {
 const gchar* getDescriptionCB(AtkObject* aAtkObj);
 
 static void getImagePositionCB(AtkImage* aImage, gint* aAccX, gint* aAccY,
@@ -26,17 +26,17 @@ static void getImagePositionCB(AtkImage*
       (aCoordType == ATK_XY_WINDOW)
           ? nsIAccessibleCoordinateType::COORDTYPE_WINDOW_RELATIVE
           : nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE;
 
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aImage));
   if (accWrap && accWrap->IsImage()) {
     ImageAccessible* image = accWrap->AsImage();
     pos = image->Position(geckoCoordType);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aImage))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aImage))) {
     pos = proxy->ImagePosition(geckoCoordType);
   }
 
   *aAccX = pos.x;
   *aAccY = pos.y;
 }
 
 static const gchar* getImageDescriptionCB(AtkImage* aImage) {
@@ -44,17 +44,17 @@ static const gchar* getImageDescriptionC
 }
 
 static void getImageSizeCB(AtkImage* aImage, gint* aAccWidth,
                            gint* aAccHeight) {
   nsIntSize size = nsIntSize(-1, -1);
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aImage));
   if (accWrap && accWrap->IsImage()) {
     size = accWrap->AsImage()->Size();
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aImage))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aImage))) {
     size = proxy->ImageSize();
   }
 
   *aAccWidth = size.width;
   *aAccHeight = size.height;
 }
 
 }  // extern "C"
--- a/accessible/atk/nsMaiInterfaceSelection.cpp
+++ b/accessible/atk/nsMaiInterfaceSelection.cpp
@@ -4,63 +4,63 @@
  * 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 "AccessibleWrap.h"
 #include "nsMai.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "mozilla/Likely.h"
 
 #include <atk/atk.h>
 
 using namespace mozilla::a11y;
 
 extern "C" {
 
 static gboolean addSelectionCB(AtkSelection* aSelection, gint i) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aSelection));
   if (accWrap && accWrap->IsSelect()) {
     return accWrap->AddItemToSelection(i);
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
     return proxy->AddItemToSelection(i);
   }
 
   return FALSE;
 }
 
 static gboolean clearSelectionCB(AtkSelection* aSelection) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aSelection));
   if (accWrap && accWrap->IsSelect()) {
     return accWrap->UnselectAll();
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
     return proxy->UnselectAll();
   }
 
   return FALSE;
 }
 
 static AtkObject* refSelectionCB(AtkSelection* aSelection, gint i) {
   AtkObject* atkObj = nullptr;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aSelection));
   if (accWrap && accWrap->IsSelect()) {
     LocalAccessible* selectedItem = accWrap->GetSelectedItem(i);
     if (!selectedItem) {
       return nullptr;
     }
 
     atkObj = AccessibleWrap::GetAtkObject(selectedItem);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
-    ProxyAccessible* selectedItem = proxy->GetSelectedItem(i);
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
+    RemoteAccessible* selectedItem = proxy->GetSelectedItem(i);
     if (selectedItem) {
       atkObj = GetWrapperFor(selectedItem);
     }
   }
 
   if (atkObj) {
     g_object_ref(atkObj);
   }
@@ -69,56 +69,56 @@ static AtkObject* refSelectionCB(AtkSele
 }
 
 static gint getSelectionCountCB(AtkSelection* aSelection) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aSelection));
   if (accWrap && accWrap->IsSelect()) {
     return accWrap->SelectedItemCount();
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
     return proxy->SelectedItemCount();
   }
 
   return -1;
 }
 
 static gboolean isChildSelectedCB(AtkSelection* aSelection, gint i) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aSelection));
   if (accWrap && accWrap->IsSelect()) {
     return accWrap->IsItemSelected(i);
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
     return proxy->IsItemSelected(i);
   }
 
   return FALSE;
 }
 
 static gboolean removeSelectionCB(AtkSelection* aSelection, gint i) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aSelection));
   if (accWrap && accWrap->IsSelect()) {
     return accWrap->RemoveItemFromSelection(i);
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
     return proxy->RemoveItemFromSelection(i);
   }
 
   return FALSE;
 }
 
 static gboolean selectAllSelectionCB(AtkSelection* aSelection) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aSelection));
   if (accWrap && accWrap->IsSelect()) {
     return accWrap->SelectAll();
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aSelection))) {
     return proxy->SelectAll();
   }
 
   return FALSE;
 }
 }
 
 void selectionInterfaceInitCB(AtkSelectionIface* aIface) {
--- a/accessible/atk/nsMaiInterfaceTable.cpp
+++ b/accessible/atk/nsMaiInterfaceTable.cpp
@@ -7,17 +7,17 @@
 #include "InterfaceInitFuncs.h"
 
 #include "LocalAccessible-inl.h"
 #include "AccessibleWrap.h"
 #include "nsAccUtils.h"
 #include "TableAccessible.h"
 #include "TableCellAccessible.h"
 #include "nsMai.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "nsArrayUtils.h"
 
 #include "mozilla/Likely.h"
 
 using namespace mozilla::a11y;
 
 extern "C" {
 static AtkObject* refAtCB(AtkTable* aTable, gint aRowIdx, gint aColIdx) {
@@ -29,18 +29,18 @@ static AtkObject* refAtCB(AtkTable* aTab
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     LocalAccessible* cell = accWrap->AsTable()->CellAt(aRowIdx, aColIdx);
     if (!cell) {
       return nullptr;
     }
 
     cellAtkObj = AccessibleWrap::GetAtkObject(cell);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
-    ProxyAccessible* cell = proxy->TableCellAt(aRowIdx, aColIdx);
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+    RemoteAccessible* cell = proxy->TableCellAt(aRowIdx, aColIdx);
     if (!cell) {
       return nullptr;
     }
 
     cellAtkObj = GetWrapperFor(cell);
   }
 
   if (cellAtkObj) {
@@ -55,182 +55,182 @@ static gint getIndexAtCB(AtkTable* aTabl
     return -1;
   }
 
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     return static_cast<gint>(accWrap->AsTable()->CellIndexAt(aRowIdx, aColIdx));
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     return static_cast<gint>(proxy->TableCellIndexAt(aRowIdx, aColIdx));
   }
 
   return -1;
 }
 
 static gint getColumnAtIndexCB(AtkTable* aTable, gint aIdx) {
   if (aIdx < 0) {
     return -1;
   }
 
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     return static_cast<gint>(accWrap->AsTable()->ColIndexAt(aIdx));
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     return static_cast<gint>(proxy->TableColumnIndexAt(aIdx));
   }
 
   return -1;
 }
 
 static gint getRowAtIndexCB(AtkTable* aTable, gint aIdx) {
   if (aIdx < 0) {
     return -1;
   }
 
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     return static_cast<gint>(accWrap->AsTable()->RowIndexAt(aIdx));
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     return static_cast<gint>(proxy->TableRowIndexAt(aIdx));
   }
 
   return -1;
 }
 
 static gint getColumnCountCB(AtkTable* aTable) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     return static_cast<gint>(accWrap->AsTable()->ColCount());
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     return static_cast<gint>(proxy->TableColumnCount());
   }
 
   return -1;
 }
 
 static gint getRowCountCB(AtkTable* aTable) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     return static_cast<gint>(accWrap->AsTable()->RowCount());
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     return static_cast<gint>(proxy->TableRowCount());
   }
 
   return -1;
 }
 
 static gint getColumnExtentAtCB(AtkTable* aTable, gint aRowIdx, gint aColIdx) {
   if (aRowIdx < 0 || aColIdx < 0) {
     return -1;
   }
 
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     return static_cast<gint>(accWrap->AsTable()->ColExtentAt(aRowIdx, aColIdx));
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     return static_cast<gint>(proxy->TableColumnExtentAt(aRowIdx, aColIdx));
   }
 
   return -1;
 }
 
 static gint getRowExtentAtCB(AtkTable* aTable, gint aRowIdx, gint aColIdx) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     return static_cast<gint>(accWrap->AsTable()->RowExtentAt(aRowIdx, aColIdx));
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     return static_cast<gint>(proxy->TableRowExtentAt(aRowIdx, aColIdx));
   }
 
   return -1;
 }
 
 static AtkObject* getCaptionCB(AtkTable* aTable) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     LocalAccessible* caption = accWrap->AsTable()->Caption();
     return caption ? AccessibleWrap::GetAtkObject(caption) : nullptr;
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
-    ProxyAccessible* caption = proxy->TableCaption();
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+    RemoteAccessible* caption = proxy->TableCaption();
     return caption ? GetWrapperFor(caption) : nullptr;
   }
 
   return nullptr;
 }
 
 static const gchar* getColumnDescriptionCB(AtkTable* aTable, gint aColumn) {
   nsAutoString autoStr;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     accWrap->AsTable()->ColDescription(aColumn, autoStr);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     proxy->TableColumnDescription(aColumn, autoStr);
   } else {
     return nullptr;
   }
 
   return AccessibleWrap::ReturnString(autoStr);
 }
 
 static AtkObject* getColumnHeaderCB(AtkTable* aTable, gint aColIdx) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     LocalAccessible* header =
         AccessibleWrap::GetColumnHeader(accWrap->AsTable(), aColIdx);
     return header ? AccessibleWrap::GetAtkObject(header) : nullptr;
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
-    ProxyAccessible* header = proxy->AtkTableColumnHeader(aColIdx);
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+    RemoteAccessible* header = proxy->AtkTableColumnHeader(aColIdx);
     return header ? GetWrapperFor(header) : nullptr;
   }
 
   return nullptr;
 }
 
 static const gchar* getRowDescriptionCB(AtkTable* aTable, gint aRow) {
   nsAutoString autoStr;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     accWrap->AsTable()->RowDescription(aRow, autoStr);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     proxy->TableRowDescription(aRow, autoStr);
   } else {
     return nullptr;
   }
 
   return AccessibleWrap::ReturnString(autoStr);
 }
 
 static AtkObject* getRowHeaderCB(AtkTable* aTable, gint aRowIdx) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     LocalAccessible* header =
         AccessibleWrap::GetRowHeader(accWrap->AsTable(), aRowIdx);
     return header ? AccessibleWrap::GetAtkObject(header) : nullptr;
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
-    ProxyAccessible* header = proxy->AtkTableRowHeader(aRowIdx);
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+    RemoteAccessible* header = proxy->AtkTableRowHeader(aRowIdx);
     return header ? GetWrapperFor(header) : nullptr;
   }
 
   return nullptr;
 }
 
 static AtkObject* getSummaryCB(AtkTable* aTable) {
   // Neither html:table nor xul:tree nor ARIA grid/tree have an ability to
@@ -242,17 +242,17 @@ static AtkObject* getSummaryCB(AtkTable*
 
 static gint getSelectedColumnsCB(AtkTable* aTable, gint** aSelected) {
   *aSelected = nullptr;
 
   AutoTArray<uint32_t, 10> cols;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     accWrap->AsTable()->SelectedColIndices(&cols);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     proxy->TableSelectedColumnIndices(&cols);
   } else {
     return 0;
   }
 
   if (cols.IsEmpty()) return 0;
 
   gint* atkColumns = g_new(gint, cols.Length());
@@ -266,17 +266,17 @@ static gint getSelectedColumnsCB(AtkTabl
   return cols.Length();
 }
 
 static gint getSelectedRowsCB(AtkTable* aTable, gint** aSelected) {
   AutoTArray<uint32_t, 10> rows;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     accWrap->AsTable()->SelectedRowIndices(&rows);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     proxy->TableSelectedRowIndices(&rows);
   } else {
     return 0;
   }
 
   gint* atkRows = g_new(gint, rows.Length());
   if (!atkRows) {
     NS_WARNING("OUT OF MEMORY");
@@ -288,42 +288,42 @@ static gint getSelectedRowsCB(AtkTable* 
   return rows.Length();
 }
 
 static gboolean isColumnSelectedCB(AtkTable* aTable, gint aColIdx) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     return static_cast<gboolean>(accWrap->AsTable()->IsColSelected(aColIdx));
   }
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     return static_cast<gboolean>(proxy->TableColumnSelected(aColIdx));
   }
 
   return FALSE;
 }
 
 static gboolean isRowSelectedCB(AtkTable* aTable, gint aRowIdx) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     return static_cast<gboolean>(accWrap->AsTable()->IsRowSelected(aRowIdx));
   }
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     return static_cast<gboolean>(proxy->TableRowSelected(aRowIdx));
   }
 
   return FALSE;
 }
 
 static gboolean isCellSelectedCB(AtkTable* aTable, gint aRowIdx, gint aColIdx) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aTable));
   if (accWrap) {
     return static_cast<gboolean>(
         accWrap->AsTable()->IsCellSelected(aRowIdx, aColIdx));
   }
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTable))) {
     return static_cast<gboolean>(proxy->TableCellSelected(aRowIdx, aColIdx));
   }
 
   return FALSE;
 }
 }
 
 void tableInterfaceInitCB(AtkTableIface* aIface) {
--- a/accessible/atk/nsMaiInterfaceTableCell.cpp
+++ b/accessible/atk/nsMaiInterfaceTableCell.cpp
@@ -7,44 +7,44 @@
 #include "InterfaceInitFuncs.h"
 
 #include "LocalAccessible-inl.h"
 #include "AccessibleWrap.h"
 #include "nsAccUtils.h"
 #include "TableAccessible.h"
 #include "TableCellAccessible.h"
 #include "nsMai.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "nsArrayUtils.h"
 
 #include "mozilla/Likely.h"
 
 using namespace mozilla::a11y;
 
 extern "C" {
 static gint GetColumnSpanCB(AtkTableCell* aCell) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aCell));
   if (accWrap) {
     return accWrap->AsTableCell()->ColExtent();
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aCell))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aCell))) {
     return proxy->ColExtent();
   }
 
   return 0;
 }
 
 static gboolean GetRowSpanCB(AtkTableCell* aCell) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aCell));
   if (accWrap) {
     return accWrap->AsTableCell()->RowExtent();
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aCell))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aCell))) {
     return proxy->RowExtent();
   }
 
   return 0;
 }
 
 static gboolean GetPositionCB(AtkTableCell* aCell, gint* aRow, gint* aCol) {
   if (AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aCell))) {
@@ -52,17 +52,17 @@ static gboolean GetPositionCB(AtkTableCe
     if (!cell) {
       return false;
     }
     *aRow = cell->RowIdx();
     *aCol = cell->ColIdx();
     return true;
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aCell))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aCell))) {
     uint32_t rowIdx = 0, colIdx = 0;
     proxy->GetPosition(&rowIdx, &colIdx);
     *aCol = colIdx;
     *aRow = rowIdx;
     return true;
   }
 
   return false;
@@ -77,17 +77,17 @@ static gboolean GetColumnRowSpanCB(AtkTa
     }
     *aCol = cellAcc->ColIdx();
     *aRow = cellAcc->RowIdx();
     *aColExtent = cellAcc->ColExtent();
     *aRowExtent = cellAcc->ColExtent();
     return true;
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aCell))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aCell))) {
     uint32_t colIdx = 0, rowIdx = 0, colExtent = 0, rowExtent = 0;
     proxy->GetColRowExtents(&colIdx, &rowIdx, &colExtent, &rowExtent);
     *aCol = colIdx;
     *aRow = rowIdx;
     *aColExtent = colExtent;
     *aRowExtent = rowExtent;
     return true;
   }
@@ -102,18 +102,18 @@ static AtkObject* GetTableCB(AtkTableCel
     if (!table) {
       return nullptr;
     }
 
     LocalAccessible* tableAcc = table->AsAccessible();
     return tableAcc ? AccessibleWrap::GetAtkObject(tableAcc) : nullptr;
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aTableCell))) {
-    ProxyAccessible* table = proxy->TableOfACell();
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aTableCell))) {
+    RemoteAccessible* table = proxy->TableOfACell();
     return table ? GetWrapperFor(table) : nullptr;
   }
 
   return nullptr;
 }
 
 static GPtrArray* GetColumnHeaderCellsCB(AtkTableCell* aCell) {
   if (AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aCell))) {
@@ -128,25 +128,25 @@ static GPtrArray* GetColumnHeaderCellsCB
       AtkObject* atkHeader = AccessibleWrap::GetAtkObject(header);
       g_object_ref(atkHeader);
       g_ptr_array_add(atkHeaders, atkHeader);
     }
 
     return atkHeaders;
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aCell))) {
-    AutoTArray<ProxyAccessible*, 10> headers;
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aCell))) {
+    AutoTArray<RemoteAccessible*, 10> headers;
     proxy->ColHeaderCells(&headers);
     if (headers.IsEmpty()) {
       return nullptr;
     }
 
     GPtrArray* atkHeaders = g_ptr_array_sized_new(headers.Length());
-    for (ProxyAccessible* header : headers) {
+    for (RemoteAccessible* header : headers) {
       AtkObject* atkHeader = GetWrapperFor(header);
       g_object_ref(atkHeader);
       g_ptr_array_add(atkHeaders, atkHeader);
     }
 
     return atkHeaders;
   }
 
@@ -166,25 +166,25 @@ static GPtrArray* GetRowHeaderCellsCB(At
       AtkObject* atkHeader = AccessibleWrap::GetAtkObject(header);
       g_object_ref(atkHeader);
       g_ptr_array_add(atkHeaders, atkHeader);
     }
 
     return atkHeaders;
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aCell))) {
-    AutoTArray<ProxyAccessible*, 10> headers;
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aCell))) {
+    AutoTArray<RemoteAccessible*, 10> headers;
     proxy->RowHeaderCells(&headers);
     if (headers.IsEmpty()) {
       return nullptr;
     }
 
     GPtrArray* atkHeaders = g_ptr_array_sized_new(headers.Length());
-    for (ProxyAccessible* header : headers) {
+    for (RemoteAccessible* header : headers) {
       AtkObject* atkHeader = GetWrapperFor(header);
       g_object_ref(atkHeader);
       g_ptr_array_add(atkHeaders, atkHeader);
     }
 
     return atkHeaders;
   }
 
--- a/accessible/atk/nsMaiInterfaceText.cpp
+++ b/accessible/atk/nsMaiInterfaceText.cpp
@@ -4,17 +4,17 @@
  * 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 "mozilla/a11y/PDocAccessible.h"
 #include "LocalAccessible-inl.h"
 #include "HyperTextAccessible-inl.h"
 #include "nsMai.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 
 #include "nsIAccessibleTypes.h"
 #include "nsIPersistentProperties2.h"
 #include "nsISimpleEnumerator.h"
 #include "nsUTF8Utils.h"
 
 #include "mozilla/Likely.h"
 
@@ -138,17 +138,17 @@ static gchar* getTextCB(AtkText* aText, 
     if (!text || !text->IsTextRole() || text->IsDefunct()) return nullptr;
 
     return DOMtoATK::NewATKString(
         text, aStartOffset, aEndOffset,
         accWrap->IsPassword()
             ? DOMtoATK::AtkStringConvertFlags::ConvertTextToAsterisks
             : DOMtoATK::AtkStringConvertFlags::None);
 
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     return DOMtoATK::NewATKString(proxy, aStartOffset, aEndOffset,
                                   DOMtoATK::AtkStringConvertFlags::None);
   }
 
   return nullptr;
 }
 
 static gint getCharacterCountCB(AtkText* aText);
@@ -190,17 +190,17 @@ static gchar* getTextAfterOffsetCB(AtkTe
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) return nullptr;
 
     text->TextAfterOffset(aOffset, aBoundaryType, &startOffset, &endOffset,
                           autoStr);
     ConvertTexttoAsterisks(accWrap, autoStr);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     proxy->GetTextAfterOffset(aOffset, aBoundaryType, autoStr, &startOffset,
                               &endOffset);
   }
 
   *aStartOffset = startOffset;
   *aEndOffset = endOffset;
 
   // libspi will free it.
@@ -219,17 +219,17 @@ static gchar* getTextAtOffsetCB(AtkText*
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) return nullptr;
 
     text->TextAtOffset(aOffset, aBoundaryType, &startOffset, &endOffset,
                        autoStr);
     ConvertTexttoAsterisks(accWrap, autoStr);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     proxy->GetTextAtOffset(aOffset, aBoundaryType, autoStr, &startOffset,
                            &endOffset);
   }
 
   *aStartOffset = startOffset;
   *aEndOffset = endOffset;
 
   // libspi will free it.
@@ -241,17 +241,17 @@ static gunichar getCharacterAtOffsetCB(A
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return 0;
     }
     return DOMtoATK::ATKCharacter(text, aOffset);
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     return DOMtoATK::ATKCharacter(proxy, aOffset);
   }
 
   return 0;
 }
 
 static gchar* getTextBeforeOffsetCB(AtkText* aText, gint aOffset,
                                     AtkTextBoundary aBoundaryType,
@@ -265,17 +265,17 @@ static gchar* getTextBeforeOffsetCB(AtkT
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) return nullptr;
 
     text->TextBeforeOffset(aOffset, aBoundaryType, &startOffset, &endOffset,
                            autoStr);
     ConvertTexttoAsterisks(accWrap, autoStr);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     proxy->GetTextBeforeOffset(aOffset, aBoundaryType, autoStr, &startOffset,
                                &endOffset);
   }
 
   *aStartOffset = startOffset;
   *aEndOffset = endOffset;
 
   // libspi will free it.
@@ -288,17 +288,17 @@ static gint getCaretOffsetCB(AtkText* aT
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return -1;
     }
 
     return static_cast<gint>(text->CaretOffset());
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     return static_cast<gint>(proxy->CaretOffset());
   }
 
   return -1;
 }
 
 static AtkAttributeSet* getRunAttributesCB(AtkText* aText, gint aOffset,
                                            gint* aStartOffset,
@@ -318,17 +318,17 @@ static AtkAttributeSet* getRunAttributes
         text->TextAttributes(false, aOffset, &startOffset, &endOffset);
 
     *aStartOffset = startOffset;
     *aEndOffset = endOffset;
 
     return ConvertToAtkTextAttributeSet(attributes);
   }
 
-  ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText));
+  RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText));
   if (!proxy) {
     return nullptr;
   }
 
   AutoTArray<Attribute, 10> attrs;
   proxy->TextAttributes(false, aOffset, &attrs, &startOffset, &endOffset);
   *aStartOffset = startOffset;
   *aEndOffset = endOffset;
@@ -343,17 +343,17 @@ static AtkAttributeSet* getDefaultAttrib
       return nullptr;
     }
 
     nsCOMPtr<nsIPersistentProperties> attributes =
         text->DefaultTextAttributes();
     return ConvertToAtkTextAttributeSet(attributes);
   }
 
-  ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText));
+  RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText));
   if (!proxy) {
     return nullptr;
   }
 
   AutoTArray<Attribute, 10> attrs;
   proxy->DefaultTextAttributes(&attrs);
   return ConvertToAtkTextAttributeSet(attrs);
 }
@@ -377,17 +377,17 @@ static void getCharacterExtentsCB(AtkTex
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return;
     }
 
     rect = text->CharBounds(aOffset, geckoCoordType);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     rect = proxy->CharBounds(aOffset, geckoCoordType);
   } else {
     return;
   }
 
   *aX = rect.x;
   *aY = rect.y;
   *aWidth = rect.width;
@@ -413,17 +413,17 @@ static void getRangeExtentsCB(AtkText* a
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return;
     }
 
     rect = text->TextBounds(aStartOffset, aEndOffset, geckoCoordType);
-  } else if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  } else if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     rect = proxy->TextBounds(aStartOffset, aEndOffset, geckoCoordType);
   } else {
     return;
   }
 
   aRect->x = rect.x;
   aRect->y = rect.y;
   aRect->width = rect.width;
@@ -434,17 +434,17 @@ static gint getCharacterCountCB(AtkText*
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* textAcc = accWrap->AsHyperText();
     return !textAcc || textAcc->IsDefunct()
                ? 0
                : static_cast<gint>(textAcc->CharacterCount());
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     return proxy->CharacterCount();
   }
 
   return 0;
 }
 
 static gint getOffsetAtPointCB(AtkText* aText, gint aX, gint aY,
                                AtkCoordType aCoords) {
@@ -457,17 +457,17 @@ static gint getOffsetAtPointCB(AtkText* 
 
     return static_cast<gint>(text->OffsetAtPoint(
         aX, aY,
         (aCoords == ATK_XY_SCREEN
              ? nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE
              : nsIAccessibleCoordinateType::COORDTYPE_WINDOW_RELATIVE)));
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     return static_cast<gint>(proxy->OffsetAtPoint(
         aX, aY,
         (aCoords == ATK_XY_SCREEN
              ? nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE
              : nsIAccessibleCoordinateType::COORDTYPE_WINDOW_RELATIVE)));
   }
 
   return -1;
@@ -479,17 +479,17 @@ static gint getTextSelectionCountCB(AtkT
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return 0;
     }
 
     return text->SelectionCount();
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     return proxy->SelectionCount();
   }
 
   return 0;
 }
 
 static gchar* getTextSelectionCB(AtkText* aText, gint aSelectionNum,
                                  gint* aStartOffset, gint* aEndOffset) {
@@ -502,17 +502,17 @@ static gchar* getTextSelectionCB(AtkText
     }
 
     text->SelectionBoundsAt(aSelectionNum, &startOffset, &endOffset);
     *aStartOffset = startOffset;
     *aEndOffset = endOffset;
 
     return getTextCB(aText, *aStartOffset, *aEndOffset);
   }
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     nsString data;
     proxy->SelectionBoundsAt(aSelectionNum, data, &startOffset, &endOffset);
     *aStartOffset = startOffset;
     *aEndOffset = endOffset;
 
     NS_ConvertUTF16toUTF8 dataAsUTF8(data);
     return (dataAsUTF8.get()) ? g_strdup(dataAsUTF8.get()) : nullptr;
   }
@@ -526,34 +526,34 @@ static gboolean addTextSelectionCB(AtkTe
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return FALSE;
     }
 
     return text->AddToSelection(aStartOffset, aEndOffset);
   }
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     return proxy->AddToSelection(aStartOffset, aEndOffset);
   }
 
   return FALSE;
 }
 
 static gboolean removeTextSelectionCB(AtkText* aText, gint aSelectionNum) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return FALSE;
     }
 
     return text->RemoveFromSelection(aSelectionNum);
   }
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     return proxy->RemoveFromSelection(aSelectionNum);
   }
 
   return FALSE;
 }
 
 static gboolean setTextSelectionCB(AtkText* aText, gint aSelectionNum,
                                    gint aStartOffset, gint aEndOffset) {
@@ -561,17 +561,17 @@ static gboolean setTextSelectionCB(AtkTe
   if (accWrap) {
     HyperTextAccessible* text = accWrap->AsHyperText();
     if (!text || !text->IsTextRole()) {
       return FALSE;
     }
 
     return text->SetSelectionBoundsAt(aSelectionNum, aStartOffset, aEndOffset);
   }
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     return proxy->SetSelectionBoundsAt(aSelectionNum, aStartOffset, aEndOffset);
   }
 
   return FALSE;
 }
 
 static gboolean setCaretOffsetCB(AtkText* aText, gint aOffset) {
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(aText));
@@ -580,17 +580,17 @@ static gboolean setCaretOffsetCB(AtkText
     if (!text || !text->IsTextRole() || !text->IsValidOffset(aOffset)) {
       return FALSE;
     }
 
     text->SetCaretOffset(aOffset);
     return TRUE;
   }
 
-  if (ProxyAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
+  if (RemoteAccessible* proxy = GetProxy(ATK_OBJECT(aText))) {
     proxy->SetCaretOffset(aOffset);
     return TRUE;
   }
 
   return FALSE;
 }
 
 static gboolean scrollSubstringToCB(AtkText* aText, gint aStartOffset,
@@ -602,17 +602,17 @@ static gboolean scrollSubstringToCB(AtkT
     if (!text || !text->IsTextRole() ||
         !text->IsValidRange(aStartOffset, aEndOffset)) {
       return FALSE;
     }
     text->ScrollSubstringTo(aStartOffset, aEndOffset, aType);
     return TRUE;
   }
 
-  ProxyAccessible* proxy = GetProxy(atkObject);
+  RemoteAccessible* proxy = GetProxy(atkObject);
   if (proxy) {
     proxy->ScrollSubstringTo(aStartOffset, aEndOffset, aType);
     return TRUE;
   }
 
   return FALSE;
 }
 
@@ -626,17 +626,17 @@ static gboolean scrollSubstringToPointCB
     if (!text || !text->IsTextRole() ||
         !text->IsValidRange(aStartOffset, aEndOffset)) {
       return FALSE;
     }
     text->ScrollSubstringToPoint(aStartOffset, aEndOffset, aCoords, aX, aY);
     return TRUE;
   }
 
-  ProxyAccessible* proxy = GetProxy(atkObject);
+  RemoteAccessible* proxy = GetProxy(atkObject);
   if (proxy) {
     proxy->ScrollSubstringToPoint(aStartOffset, aEndOffset, aCoords, aX, aY);
     return TRUE;
   }
 
   return FALSE;
 }
 }
--- a/accessible/atk/nsMaiInterfaceValue.cpp
+++ b/accessible/atk/nsMaiInterfaceValue.cpp
@@ -3,27 +3,27 @@
 /* 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 "AccessibleWrap.h"
 #include "nsMai.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "mozilla/FloatingPoint.h"
 #include "mozilla/Likely.h"
 
 using namespace mozilla;
 using namespace mozilla::a11y;
 
 extern "C" {
 
 static void getCurrentValueCB(AtkValue* obj, GValue* value) {
-  ProxyAccessible* proxy = nullptr;
+  RemoteAccessible* proxy = nullptr;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(obj));
   if (!accWrap) {
     proxy = GetProxy(ATK_OBJECT(obj));
     if (!proxy) {
       return;
     }
   }
 
@@ -31,17 +31,17 @@ static void getCurrentValueCB(AtkValue* 
   double accValue = accWrap ? accWrap->CurValue() : proxy->CurValue();
   if (IsNaN(accValue)) return;
 
   g_value_init(value, G_TYPE_DOUBLE);
   g_value_set_double(value, accValue);
 }
 
 static void getMaximumValueCB(AtkValue* obj, GValue* value) {
-  ProxyAccessible* proxy = nullptr;
+  RemoteAccessible* proxy = nullptr;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(obj));
   if (!accWrap) {
     proxy = GetProxy(ATK_OBJECT(obj));
     if (!proxy) {
       return;
     }
   }
 
@@ -49,17 +49,17 @@ static void getMaximumValueCB(AtkValue* 
   double accValue = accWrap ? accWrap->MaxValue() : proxy->MaxValue();
   if (IsNaN(accValue)) return;
 
   g_value_init(value, G_TYPE_DOUBLE);
   g_value_set_double(value, accValue);
 }
 
 static void getMinimumValueCB(AtkValue* obj, GValue* value) {
-  ProxyAccessible* proxy = nullptr;
+  RemoteAccessible* proxy = nullptr;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(obj));
   if (!accWrap) {
     proxy = GetProxy(ATK_OBJECT(obj));
     if (!proxy) {
       return;
     }
   }
 
@@ -67,17 +67,17 @@ static void getMinimumValueCB(AtkValue* 
   double accValue = accWrap ? accWrap->MinValue() : proxy->MinValue();
   if (IsNaN(accValue)) return;
 
   g_value_init(value, G_TYPE_DOUBLE);
   g_value_set_double(value, accValue);
 }
 
 static void getMinimumIncrementCB(AtkValue* obj, GValue* minimumIncrement) {
-  ProxyAccessible* proxy = nullptr;
+  RemoteAccessible* proxy = nullptr;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(obj));
   if (!accWrap) {
     proxy = GetProxy(ATK_OBJECT(obj));
     if (!proxy) {
       return;
     }
   }
 
@@ -87,17 +87,17 @@ static void getMinimumIncrementCB(AtkVal
     accValue = 0;  // zero if the minimum increment is undefined
   }
 
   g_value_init(minimumIncrement, G_TYPE_DOUBLE);
   g_value_set_double(minimumIncrement, accValue);
 }
 
 static gboolean setCurrentValueCB(AtkValue* obj, const GValue* value) {
-  ProxyAccessible* proxy = nullptr;
+  RemoteAccessible* proxy = nullptr;
   AccessibleWrap* accWrap = GetAccessibleWrap(ATK_OBJECT(obj));
   if (!accWrap) {
     proxy = GetProxy(ATK_OBJECT(obj));
     if (!proxy) {
       return FALSE;
     }
   }
 
--- a/accessible/base/AccessibleOrProxy.cpp
+++ b/accessible/base/AccessibleOrProxy.cpp
@@ -11,17 +11,17 @@
 namespace mozilla {
 namespace a11y {
 
 int32_t AccessibleOrProxy::IndexInParent() const {
   if (IsAccessible()) {
     return AsAccessible()->IndexInParent();
   }
 
-  ProxyAccessible* proxy = AsProxy();
+  RemoteAccessible* proxy = AsProxy();
   if (!proxy) {
     return -1;
   }
 
   if (proxy->RemoteParent()) {
     return proxy->IndexInParent();
   }
 
@@ -33,35 +33,35 @@ int32_t AccessibleOrProxy::IndexInParent
   return -1;
 }
 
 AccessibleOrProxy AccessibleOrProxy::Parent() const {
   if (IsAccessible()) {
     return AsAccessible()->LocalParent();
   }
 
-  ProxyAccessible* proxy = AsProxy();
+  RemoteAccessible* proxy = AsProxy();
   if (!proxy) {
     return nullptr;
   }
 
-  if (ProxyAccessible* parent = proxy->RemoteParent()) {
+  if (RemoteAccessible* parent = proxy->RemoteParent()) {
     return parent;
   }
 
   // Otherwise this should be the proxy for the tab's top level document.
   return proxy->OuterDocOfRemoteBrowser();
 }
 
 AccessibleOrProxy AccessibleOrProxy::ChildAtPoint(
     int32_t aX, int32_t aY, LocalAccessible::EWhichChildAtPoint aWhichChild) {
   if (IsProxy()) {
     return AsProxy()->ChildAtPoint(aX, aY, aWhichChild);
   }
-  ProxyAccessible* childDoc = RemoteChildDoc();
+  RemoteAccessible* childDoc = RemoteChildDoc();
   if (childDoc) {
     // This is an OuterDocAccessible.
     nsIntRect docRect = AsAccessible()->Bounds();
     if (!docRect.Contains(aX, aY)) {
       return nullptr;
     }
     if (aWhichChild == LocalAccessible::eDirectChild) {
       return childDoc;
@@ -70,23 +70,23 @@ AccessibleOrProxy AccessibleOrProxy::Chi
   }
   AccessibleOrProxy target = AsAccessible()->ChildAtPoint(aX, aY, aWhichChild);
   if (target.IsNull() || aWhichChild == LocalAccessible::eDirectChild) {
     return target;
   }
   childDoc = target.RemoteChildDoc();
   if (childDoc) {
     // LocalAccessible::ChildAtPoint stopped at an OuterDocAccessible, since it
-    // can't traverse into ProxyAccessibles. Continue the search from childDoc.
+    // can't traverse into RemoteAccessibles. Continue the search from childDoc.
     return childDoc->ChildAtPoint(aX, aY, aWhichChild);
   }
   return target;
 }
 
-ProxyAccessible* AccessibleOrProxy::RemoteChildDoc() const {
+RemoteAccessible* AccessibleOrProxy::RemoteChildDoc() const {
   MOZ_ASSERT(!IsNull());
   if (IsProxy()) {
     return nullptr;
   }
   OuterDocAccessible* outerDoc = AsAccessible()->AsOuterDoc();
   if (!outerDoc) {
     return nullptr;
   }
--- a/accessible/base/AccessibleOrProxy.h
+++ b/accessible/base/AccessibleOrProxy.h
@@ -3,41 +3,41 @@
 /* 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/. */
 
 #ifndef mozilla_a11y_AccessibleOrProxy_h
 #define mozilla_a11y_AccessibleOrProxy_h
 
 #include "mozilla/a11y/LocalAccessible.h"
-#include "mozilla/a11y/ProxyAccessible.h"
+#include "mozilla/a11y/RemoteAccessible.h"
 #include "mozilla/a11y/Role.h"
 
 #include <stdint.h>
 
 namespace mozilla {
 namespace a11y {
 
 /**
- * This class stores a LocalAccessible* or a ProxyAccessible* in a safe manner
+ * This class stores a LocalAccessible* or a RemoteAccessible* in a safe manner
  * with size sizeof(void*).
  */
 class AccessibleOrProxy {
  public:
   MOZ_IMPLICIT AccessibleOrProxy(LocalAccessible* aAcc)
       : mBits(reinterpret_cast<uintptr_t>(aAcc)) {}
-  MOZ_IMPLICIT AccessibleOrProxy(ProxyAccessible* aProxy)
+  MOZ_IMPLICIT AccessibleOrProxy(RemoteAccessible* aProxy)
       : mBits(aProxy ? (reinterpret_cast<uintptr_t>(aProxy) | IS_PROXY) : 0) {}
   MOZ_IMPLICIT AccessibleOrProxy(decltype(nullptr)) : mBits(0) {}
   MOZ_IMPLICIT AccessibleOrProxy() : mBits(0) {}
 
   bool IsProxy() const { return mBits & IS_PROXY; }
-  ProxyAccessible* AsProxy() const {
+  RemoteAccessible* AsProxy() const {
     if (IsProxy()) {
-      return reinterpret_cast<ProxyAccessible*>(mBits & ~IS_PROXY);
+      return reinterpret_cast<RemoteAccessible*>(mBits & ~IS_PROXY);
     }
 
     return nullptr;
   }
 
   bool IsAccessible() const { return !IsProxy(); }
   LocalAccessible* AsAccessible() const {
     if (IsAccessible()) {
@@ -70,49 +70,49 @@ class AccessibleOrProxy {
    * Return the child object either an accessible or a proxied accessible at
    * the given index.
    */
   AccessibleOrProxy ChildAt(uint32_t aIdx) const {
     if (IsProxy()) {
       return AsProxy()->RemoteChildAt(aIdx);
     }
 
-    ProxyAccessible* childDoc = RemoteChildDoc();
+    RemoteAccessible* childDoc = RemoteChildDoc();
     if (childDoc && aIdx == 0) {
       return childDoc;
     }
 
     return AsAccessible()->LocalChildAt(aIdx);
   }
 
   /**
    * Return the first child object.
    */
   AccessibleOrProxy FirstChild() {
     if (IsProxy()) {
       return AsProxy()->RemoteFirstChild();
     }
 
-    ProxyAccessible* childDoc = RemoteChildDoc();
+    RemoteAccessible* childDoc = RemoteChildDoc();
     if (childDoc) {
       return childDoc;
     }
 
     return AsAccessible()->LocalFirstChild();
   }
 
   /**
    * Return the last child object.
    */
   AccessibleOrProxy LastChild() {
     if (IsProxy()) {
       return AsProxy()->RemoteLastChild();
     }
 
-    ProxyAccessible* childDoc = RemoteChildDoc();
+    RemoteAccessible* childDoc = RemoteChildDoc();
     if (childDoc) {
       return childDoc;
     }
 
     return AsAccessible()->LocalLastChild();
   }
 
   /**
@@ -163,17 +163,17 @@ class AccessibleOrProxy {
   // XXX these are implementation details that ideally would not be exposed.
   uintptr_t Bits() const { return mBits; }
   void SetBits(uintptr_t aBits) { mBits = aBits; }
 
  private:
   /**
    * If this is an OuterDocAccessible, return the remote child document.
    */
-  ProxyAccessible* RemoteChildDoc() const;
+  RemoteAccessible* RemoteChildDoc() const;
 
   uintptr_t mBits;
   static const uintptr_t IS_PROXY = 0x1;
 };
 
 }  // namespace a11y
 }  // namespace mozilla
 
--- a/accessible/base/Pivot.h
+++ b/accessible/base/Pivot.h
@@ -98,18 +98,18 @@ class PivotRoleRule : public PivotRule {
   virtual uint16_t Match(const AccessibleOrProxy& aAccOrProxy) override;
 
  protected:
   role mRole;
   AccessibleOrProxy mDirectDescendantsFrom;
 };
 
 /**
- * This rule matches any local LocalAccessible (i.e. not ProxyAccessible) in the
- * same document as the anchor. That is, it includes any descendant
+ * This rule matches any local LocalAccessible (i.e. not RemoteAccessible) in
+ * the same document as the anchor. That is, it includes any descendant
  * OuterDocAccessible, but not its descendants.
  */
 class LocalAccInSameDocRule : public PivotRule {
  public:
   virtual uint16_t Match(const AccessibleOrProxy& aAccOrProxy) override;
 };
 
 }  // namespace a11y
--- a/accessible/base/Platform.h
+++ b/accessible/base/Platform.h
@@ -21,17 +21,17 @@
 
 #if defined(XP_WIN)
 #  include "Units.h"
 #endif
 
 namespace mozilla {
 namespace a11y {
 
-class ProxyAccessible;
+class RemoteAccessible;
 
 enum EPlatformDisabledState {
   ePlatformIsForceEnabled = -1,
   ePlatformIsEnabled = 0,
   ePlatformIsDisabled = 1
 };
 
 /**
@@ -77,84 +77,84 @@ void PlatformInit();
 
 /**
  * Shutdown platform accessibility.
  * Note this is called before internal accessibility support is shutdown.
  */
 void PlatformShutdown();
 
 /**
- * called when a new ProxyAccessible is created, so the platform may setup a
+ * called when a new RemoteAccessible is created, so the platform may setup a
  * wrapper for it, or take other action.
  */
-void ProxyCreated(ProxyAccessible* aProxy, uint32_t aInterfaces);
+void ProxyCreated(RemoteAccessible* aProxy, uint32_t aInterfaces);
 
 /**
- * Called just before a ProxyAccessible is destroyed so its wrapper can be
+ * Called just before a RemoteAccessible is destroyed so its wrapper can be
  * disposed of and other action taken.
  */
-void ProxyDestroyed(ProxyAccessible*);
+void ProxyDestroyed(RemoteAccessible*);
 
 /**
  * Callied when an event is fired on a proxied accessible.
  */
-void ProxyEvent(ProxyAccessible* aTarget, uint32_t aEventType);
-void ProxyStateChangeEvent(ProxyAccessible* aTarget, uint64_t aState,
+void ProxyEvent(RemoteAccessible* aTarget, uint32_t aEventType);
+void ProxyStateChangeEvent(RemoteAccessible* aTarget, uint64_t aState,
                            bool aEnabled);
 
 #if defined(XP_WIN)
-void ProxyFocusEvent(ProxyAccessible* aTarget,
+void ProxyFocusEvent(RemoteAccessible* aTarget,
                      const LayoutDeviceIntRect& aCaretRect);
-void ProxyCaretMoveEvent(ProxyAccessible* aTarget,
+void ProxyCaretMoveEvent(RemoteAccessible* aTarget,
                          const LayoutDeviceIntRect& aCaretRect);
 #else
-void ProxyCaretMoveEvent(ProxyAccessible* aTarget, int32_t aOffset,
+void ProxyCaretMoveEvent(RemoteAccessible* aTarget, int32_t aOffset,
                          bool aIsSelectionCollapsed);
 #endif
-void ProxyTextChangeEvent(ProxyAccessible* aTarget, const nsString& aStr,
+void ProxyTextChangeEvent(RemoteAccessible* aTarget, const nsString& aStr,
                           int32_t aStart, uint32_t aLen, bool aIsInsert,
                           bool aFromUser);
-void ProxyShowHideEvent(ProxyAccessible* aTarget, ProxyAccessible* aParent,
+void ProxyShowHideEvent(RemoteAccessible* aTarget, RemoteAccessible* aParent,
                         bool aInsert, bool aFromUser);
-void ProxySelectionEvent(ProxyAccessible* aTarget, ProxyAccessible* aWidget,
+void ProxySelectionEvent(RemoteAccessible* aTarget, RemoteAccessible* aWidget,
                          uint32_t aType);
 
 #if defined(ANDROID)
 MOZ_CAN_RUN_SCRIPT
-void ProxyVirtualCursorChangeEvent(ProxyAccessible* aTarget,
-                                   ProxyAccessible* aOldPosition,
+void ProxyVirtualCursorChangeEvent(RemoteAccessible* aTarget,
+                                   RemoteAccessible* aOldPosition,
                                    int32_t aOldStartOffset,
                                    int32_t aOldEndOffset,
-                                   ProxyAccessible* aNewPosition,
+                                   RemoteAccessible* aNewPosition,
                                    int32_t aNewStartOffset,
                                    int32_t aNewEndOffset, int16_t aReason,
                                    int16_t aBoundaryType, bool aFromUser);
 
-void ProxyScrollingEvent(ProxyAccessible* aTarget, uint32_t aEventType,
+void ProxyScrollingEvent(RemoteAccessible* aTarget, uint32_t aEventType,
                          uint32_t aScrollX, uint32_t aScrollY,
                          uint32_t aMaxScrollX, uint32_t aMaxScrollY);
 
-void ProxyAnnouncementEvent(ProxyAccessible* aTarget,
+void ProxyAnnouncementEvent(RemoteAccessible* aTarget,
                             const nsString& aAnnouncement, uint16_t aPriority);
 
 class BatchData;
 
-void ProxyBatch(ProxyAccessible* aDocument, const uint64_t aBatchType,
-                const nsTArray<ProxyAccessible*>& aAccessibles,
+void ProxyBatch(RemoteAccessible* aDocument, const uint64_t aBatchType,
+                const nsTArray<RemoteAccessible*>& aAccessibles,
                 const nsTArray<BatchData>& aData);
 
 bool LocalizeString(
     const char* aToken, nsAString& aLocalized,
     const nsTArray<nsString>& aFormatString = nsTArray<nsString>());
 #endif
 
 #ifdef MOZ_WIDGET_COCOA
 class TextRangeData;
-void ProxyTextSelectionChangeEvent(ProxyAccessible* aTarget,
+void ProxyTextSelectionChangeEvent(RemoteAccessible* aTarget,
                                    const nsTArray<TextRangeData>& aSelection);
 
-void ProxyRoleChangedEvent(ProxyAccessible* aTarget, const a11y::role& aRole);
+void ProxyRoleChangedEvent(RemoteAccessible* aTarget, const a11y::role& aRole);
 #endif
 
 }  // namespace a11y
 }  // namespace mozilla
 
 #endif  // mozilla_a11y_Platform_h
--- a/accessible/generic/LocalAccessible.h
+++ b/accessible/generic/LocalAccessible.h
@@ -39,17 +39,17 @@ class EmbeddedObjCollector;
 class EventTree;
 class HTMLImageMapAccessible;
 class HTMLLIAccessible;
 class HTMLLinkAccessible;
 class HyperTextAccessible;
 class ImageAccessible;
 class KeyBinding;
 class OuterDocAccessible;
-class ProxyAccessible;
+class RemoteAccessible;
 class Relation;
 class RootAccessible;
 class TableAccessible;
 class TableCellAccessible;
 class TextLeafAccessible;
 class XULLabelAccessible;
 class XULTreeAccessible;
 
@@ -599,17 +599,17 @@ class LocalAccessible : public nsISuppor
 
   bool IsListControl() const { return HasGenericType(eListControl); }
 
   bool IsMenuButton() const { return HasGenericType(eMenuButton); }
 
   bool IsMenuPopup() const { return mType == eMenuPopupType; }
 
   bool IsProxy() const { return mType == eProxyType; }
-  ProxyAccessible* Proxy() const {
+  RemoteAccessible* Proxy() const {
     MOZ_ASSERT(IsProxy());
     return mBits.proxy;
   }
   uint32_t ProxyInterfaces() const {
     MOZ_ASSERT(IsProxy());
     return mInt.mProxyInterfaces;
   }
   void SetProxyInterfaces(uint32_t aInterfaces) {
@@ -1205,17 +1205,17 @@ class LocalAccessible : public nsISuppor
     int32_t mIndexOfEmbeddedChild;
     uint32_t mProxyInterfaces;
   } mInt;
 
   friend class EmbeddedObjCollector;
 
   union {
     AccGroupInfo* groupInfo;
-    ProxyAccessible* proxy;
+    RemoteAccessible* proxy;
   } mutable mBits;
   friend class AccGroupInfo;
 
  private:
   LocalAccessible() = delete;
   LocalAccessible(const LocalAccessible&) = delete;
   LocalAccessible& operator=(const LocalAccessible&) = delete;
 };
--- a/accessible/generic/OuterDocAccessible.cpp
+++ b/accessible/generic/OuterDocAccessible.cpp
@@ -189,17 +189,17 @@ bool OuterDocAccessible::IsAcceptableChi
   // outer document accessible doesn't not participate in ordinal tree
   // mutations.
   return false;
 }
 
 #if defined(XP_WIN)
 
 LocalAccessible* OuterDocAccessible::RemoteChildDocAccessible() const {
-  ProxyAccessible* docProxy = RemoteChildDoc();
+  RemoteAccessible* docProxy = RemoteChildDoc();
   if (docProxy) {
     // We're in the parent process, but we're embedding a remote document.
     return WrapperFor(docProxy);
   }
 
   if (IPCAccessibilityActive()) {
     auto bridge = dom::BrowserBridgeChild::GetFrom(mContent);
     if (bridge) {
--- a/accessible/generic/RootAccessible.cpp
+++ b/accessible/generic/RootAccessible.cpp
@@ -702,17 +702,17 @@ void RootAccessible::HandleTreeInvalidat
   propBag->GetPropertyAsInt32(u"endrow"_ns, &endRow);
   propBag->GetPropertyAsInt32(u"startcolumn"_ns, &startCol);
   propBag->GetPropertyAsInt32(u"endcolumn"_ns, &endCol);
 
   aAccessible->TreeViewInvalidated(startRow, endRow, startCol, endCol);
 }
 #endif
 
-ProxyAccessible* RootAccessible::GetPrimaryRemoteTopLevelContentDoc() const {
+RemoteAccessible* RootAccessible::GetPrimaryRemoteTopLevelContentDoc() const {
   nsCOMPtr<nsIDocShellTreeOwner> owner;
   mDocumentNode->GetDocShell()->GetTreeOwner(getter_AddRefs(owner));
   NS_ENSURE_TRUE(owner, nullptr);
 
   nsCOMPtr<nsIRemoteTab> remoteTab;
   owner->GetPrimaryRemoteTab(getter_AddRefs(remoteTab));
   if (!remoteTab) {
     return nullptr;
--- a/accessible/generic/RootAccessible.h
+++ b/accessible/generic/RootAccessible.h
@@ -37,17 +37,17 @@ class RootAccessible : public DocAccessi
   /**
    * Notify that the sub document presshell was activated.
    */
   virtual void DocumentActivated(DocAccessible* aDocument);
 
   /**
    * Return the primary remote top level document if any.
    */
-  ProxyAccessible* GetPrimaryRemoteTopLevelContentDoc() const;
+  RemoteAccessible* GetPrimaryRemoteTopLevelContentDoc() const;
 
  protected:
   virtual ~RootAccessible();
 
   /**
    * Add/remove DOM event listeners.
    */
   virtual nsresult AddEventListeners() override;
--- a/accessible/ipc/DocAccessibleChildBase.cpp
+++ b/accessible/ipc/DocAccessibleChildBase.cpp
@@ -1,16 +1,16 @@
 /* -*- 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 "mozilla/a11y/DocAccessibleChildBase.h"
-#include "mozilla/a11y/ProxyAccessible.h"
+#include "mozilla/a11y/RemoteAccessible.h"
 
 #include "LocalAccessible-inl.h"
 
 namespace mozilla {
 namespace a11y {
 
 /* static */
 uint32_t DocAccessibleChildBase::InterfacesFor(LocalAccessible* aAcc) {
--- a/accessible/ipc/DocAccessibleParent.cpp
+++ b/accessible/ipc/DocAccessibleParent.cpp
@@ -47,17 +47,17 @@ mozilla::ipc::IPCResult DocAccessiblePar
   if (mShutdown) return IPC_OK();
 
   MOZ_ASSERT(CheckDocTree());
 
   if (aData.NewTree().IsEmpty()) {
     return IPC_FAIL(this, "No children being added");
   }
 
-  ProxyAccessible* parent = GetAccessible(aData.ID());
+  RemoteAccessible* parent = GetAccessible(aData.ID());
 
   // XXX This should really never happen, but sometimes we fail to fire the
   // required show events.
   if (!parent) {
     NS_ERROR("adding child to unknown accessible");
 #ifdef DEBUG
     return IPC_FAIL(this, "unknown parent accessible");
 #else
@@ -93,17 +93,17 @@ mozilla::ipc::IPCResult DocAccessiblePar
 
   MOZ_ASSERT(CheckDocTree());
 
   // Just update, no events.
   if (aData.EventSuppressed()) {
     return IPC_OK();
   }
 
-  ProxyAccessible* target = parent->RemoteChildAt(newChildIdx);
+  RemoteAccessible* target = parent->RemoteChildAt(newChildIdx);
   ProxyShowHideEvent(target, parent, true, aFromUser);
 
   if (!nsCoreUtils::AccEventObserversExist()) {
     return IPC_OK();
   }
 
   uint32_t type = nsIAccessibleEvent::EVENT_SHOW;
   xpcAccessibleGeneric* xpcAcc = GetXPCAccessible(target);
@@ -112,31 +112,31 @@ mozilla::ipc::IPCResult DocAccessiblePar
   RefPtr<xpcAccEvent> event =
       new xpcAccEvent(type, xpcAcc, doc, node, aFromUser);
   nsCoreUtils::DispatchAccEvent(std::move(event));
 
   return IPC_OK();
 }
 
 uint32_t DocAccessibleParent::AddSubtree(
-    ProxyAccessible* aParent, const nsTArray<a11y::AccessibleData>& aNewTree,
+    RemoteAccessible* aParent, const nsTArray<a11y::AccessibleData>& aNewTree,
     uint32_t aIdx, uint32_t aIdxInParent) {
   if (aNewTree.Length() <= aIdx) {
     NS_ERROR("bad index in serialized tree!");
     return 0;
   }
 
   const AccessibleData& newChild = aNewTree[aIdx];
 
   if (mAccessibles.Contains(newChild.ID())) {
     NS_ERROR("ID already in use");
     return 0;
   }
 
-  ProxyAccessible* newProxy = new ProxyAccessible(
+  RemoteAccessible* newProxy = new RemoteAccessible(
       newChild.ID(), aParent, this, newChild.Role(), newChild.Interfaces());
 
   aParent->AddChildAt(aIdxInParent, newProxy);
   mAccessibles.PutEntry(newChild.ID())->mProxy = newProxy;
   ProxyCreated(newProxy, newChild.Interfaces());
 
 #if defined(XP_WIN)
   WrapperFor(newProxy)->SetID(newChild.MsaaID());
@@ -182,33 +182,33 @@ mozilla::ipc::IPCResult DocAccessiblePar
   }
 
   ProxyEntry* rootEntry = mAccessibles.GetEntry(aRootID);
   if (!rootEntry) {
     NS_ERROR("invalid root being removed!");
     return IPC_OK();
   }
 
-  ProxyAccessible* root = rootEntry->mProxy;
+  RemoteAccessible* root = rootEntry->mProxy;
   if (!root) {
     NS_ERROR("invalid root being removed!");
     return IPC_OK();
   }
 
-  ProxyAccessible* parent = root->RemoteParent();
+  RemoteAccessible* parent = root->RemoteParent();
   ProxyShowHideEvent(root, parent, false, aFromUser);
 
   RefPtr<xpcAccHideEvent> event = nullptr;
   if (nsCoreUtils::AccEventObserversExist()) {
     uint32_t type = nsIAccessibleEvent::EVENT_HIDE;
     xpcAccessibleGeneric* xpcAcc = GetXPCAccessible(root);
     xpcAccessibleGeneric* xpcParent = GetXPCAccessible(parent);
-    ProxyAccessible* next = root->RemoteNextSibling();
+    RemoteAccessible* next = root->RemoteNextSibling();
     xpcAccessibleGeneric* xpcNext = next ? GetXPCAccessible(next) : nullptr;
-    ProxyAccessible* prev = root->RemotePrevSibling();
+    RemoteAccessible* prev = root->RemotePrevSibling();
     xpcAccessibleGeneric* xpcPrev = prev ? GetXPCAccessible(prev) : nullptr;
     xpcAccessibleDocument* doc = GetAccService()->GetXPCDocument(this);
     nsINode* node = nullptr;
     event = new xpcAccHideEvent(type, xpcAcc, doc, node, aFromUser, xpcParent,
                                 xpcNext, xpcPrev);
   }
 
   parent->RemoveChild(root);
@@ -224,17 +224,17 @@ mozilla::ipc::IPCResult DocAccessiblePar
 }
 
 mozilla::ipc::IPCResult DocAccessibleParent::RecvEvent(
     const uint64_t& aID, const uint32_t& aEventType) {
   if (mShutdown) {
     return IPC_OK();
   }
 
-  ProxyAccessible* proxy = GetAccessible(aID);
+  RemoteAccessible* proxy = GetAccessible(aID);
   if (!proxy) {
     NS_ERROR("no proxy for event!");
     return IPC_OK();
   }
 
   ProxyEvent(proxy, aEventType);
 
   if (!nsCoreUtils::AccEventObserversExist()) {
@@ -253,17 +253,17 @@ mozilla::ipc::IPCResult DocAccessiblePar
 }
 
 mozilla::ipc::IPCResult DocAccessibleParent::RecvStateChangeEvent(
     const uint64_t& aID, const uint64_t& aState, const bool& aEnabled) {
   if (mShutdown) {
     return IPC_OK();
   }
 
-  ProxyAccessible* target = GetAccessible(aID);
+  RemoteAccessible* target = GetAccessible(aID);
   if (!target) {
     NS_ERROR("we don't know about the target of a state change event!");
     return IPC_OK();
   }
 
   ProxyStateChangeEvent(target, aState, aEnabled);
 
   if (!nsCoreUtils::AccEventObserversExist()) {
@@ -289,17 +289,17 @@ mozilla::ipc::IPCResult DocAccessiblePar
 #if defined(XP_WIN)
     const LayoutDeviceIntRect& aCaretRect,
 #endif  // defined (XP_WIN)
     const int32_t& aOffset, const bool& aIsSelectionCollapsed) {
   if (mShutdown) {
     return IPC_OK();
   }
 
-  ProxyAccessible* proxy = GetAccessible(aID);
+  RemoteAccessible* proxy = GetAccessible(aID);
   if (!proxy) {
     NS_ERROR("unknown caret move event target!");
     return IPC_OK();
   }
 
 #if defined(XP_WIN)
   ProxyCaretMoveEvent(proxy, aCaretRect);
 #else
@@ -324,17 +324,17 @@ mozilla::ipc::IPCResult DocAccessiblePar
 
 mozilla::ipc::IPCResult DocAccessibleParent::RecvTextChangeEvent(
     const uint64_t& aID, const nsString& aStr, const int32_t& aStart,
     const uint32_t& aLen, const bool& aIsInsert, const bool& aFromUser) {
   if (mShutdown) {
     return IPC_OK();
   }
 
-  ProxyAccessible* target = GetAccessible(aID);
+  RemoteAccessible* target = GetAccessible(aID);
   if (!target) {
     NS_ERROR("text change event target is unknown!");
     return IPC_OK();
   }
 
   ProxyTextChangeEvent(target, aStr, aStart, aLen, aIsInsert, aFromUser);
 
   if (!nsCoreUtils::AccEventObserversExist()) {
@@ -364,18 +364,18 @@ mozilla::ipc::IPCResult DocAccessiblePar
 #endif  // defined(XP_WIN)
 
 mozilla::ipc::IPCResult DocAccessibleParent::RecvSelectionEvent(
     const uint64_t& aID, const uint64_t& aWidgetID, const uint32_t& aType) {
   if (mShutdown) {
     return IPC_OK();
   }
 
-  ProxyAccessible* target = GetAccessible(aID);
-  ProxyAccessible* widget = GetAccessible(aWidgetID);
+  RemoteAccessible* target = GetAccessible(aID);
+  RemoteAccessible* widget = GetAccessible(aWidgetID);
   if (!target || !widget) {
     NS_ERROR("invalid id in selection event");
     return IPC_OK();
   }
 
   ProxySelectionEvent(target, widget, aType);
   if (!nsCoreUtils::AccEventObserversExist()) {
     return IPC_OK();
@@ -394,19 +394,19 @@ mozilla::ipc::IPCResult DocAccessiblePar
     const int32_t& aOldStartOffset, const int32_t& aOldEndOffset,
     const uint64_t& aNewPositionID, const int32_t& aNewStartOffset,
     const int32_t& aNewEndOffset, const int16_t& aReason,
     const int16_t& aBoundaryType, const bool& aFromUser) {
   if (mShutdown) {
     return IPC_OK();
   }
 
-  ProxyAccessible* target = GetAccessible(aID);
-  ProxyAccessible* oldPosition = GetAccessible(aOldPositionID);
-  ProxyAccessible* newPosition = GetAccessible(aNewPositionID);
+  RemoteAccessible* target = GetAccessible(aID);
+  RemoteAccessible* oldPosition = GetAccessible(aOldPositionID);
+  RemoteAccessible* newPosition = GetAccessible(aNewPositionID);
 
   if (!target) {
     NS_ERROR("no proxy for event!");
     return IPC_OK();
   }
 
 #if defined(ANDROID)
   ProxyVirtualCursorChangeEvent(
@@ -434,17 +434,17 @@ mozilla::ipc::IPCResult DocAccessiblePar
 mozilla::ipc::IPCResult DocAccessibleParent::RecvScrollingEvent(
     const uint64_t& aID, const uint64_t& aType, const uint32_t& aScrollX,
     const uint32_t& aScrollY, const uint32_t& aMaxScrollX,
     const uint32_t& aMaxScrollY) {
   if (mShutdown) {
     return IPC_OK();
   }
 
-  ProxyAccessible* target = GetAccessible(aID);
+  RemoteAccessible* target = GetAccessible(aID);
   if (!target) {
     NS_ERROR("no proxy for event!");
     return IPC_OK();
   }
 
 #if defined(ANDROID)
   ProxyScrollingEvent(target, aType, aScrollX, aScrollY, aMaxScrollX,
                       aMaxScrollY);
@@ -471,17 +471,17 @@ mozilla::ipc::IPCResult DocAccessiblePar
 #if !defined(XP_WIN)
 mozilla::ipc::IPCResult DocAccessibleParent::RecvAnnouncementEvent(
     const uint64_t& aID, const nsString& aAnnouncement,
     const uint16_t& aPriority) {
   if (mShutdown) {
     return IPC_OK();
   }
 
-  ProxyAccessible* target = GetAccessible(aID);
+  RemoteAccessible* target = GetAccessible(aID);
   if (!target) {
     NS_ERROR("no proxy for event!");
     return IPC_OK();
   }
 
 #  if defined(ANDROID)
   ProxyAnnouncementEvent(target, aAnnouncement, aPriority);
 #  endif
@@ -502,17 +502,17 @@ mozilla::ipc::IPCResult DocAccessiblePar
 
 mozilla::ipc::IPCResult DocAccessibleParent::RecvTextSelectionChangeEvent(
     const uint64_t& aID, nsTArray<TextRangeData>&& aSelection) {
 #  ifdef MOZ_WIDGET_COCOA
   if (mShutdown) {
     return IPC_OK();
   }
 
-  ProxyAccessible* target = GetAccessible(aID);
+  RemoteAccessible* target = GetAccessible(aID);
   if (!target) {
     NS_ERROR("no proxy for event!");
     return IPC_OK();
   }
 
   ProxyTextSelectionChangeEvent(target, aSelection);
 
   return IPC_OK();
@@ -590,17 +590,17 @@ ipc::IPCResult DocAccessibleParent::AddC
       if (aCreating) {
         ProxyCreated(aChildDoc, Interfaces::DOCUMENT | Interfaces::HYPERTEXT);
       }
       return IPC_OK();
     }
     return IPC_FAIL(this, "binding to nonexistant proxy!");
   }
 
-  ProxyAccessible* outerDoc = e->mProxy;
+  RemoteAccessible* outerDoc = e->mProxy;
   MOZ_ASSERT(outerDoc);
 
   // OuterDocAccessibles are expected to only have a document as a child.
   // However for compatibility we tolerate replacing one document with another
   // here.
   if (outerDoc->ChildrenCount() > 1 || (outerDoc->ChildrenCount() == 1 &&
                                         !outerDoc->RemoteChildAt(0)->IsDoc())) {
     return IPC_FAIL(this, "binding to proxy that can't be a outerDoc!");
@@ -797,17 +797,17 @@ bool DocAccessibleParent::CheckDocTree()
       return false;
     }
   }
 
   return true;
 }
 
 xpcAccessibleGeneric* DocAccessibleParent::GetXPCAccessible(
-    ProxyAccessible* aProxy) {
+    RemoteAccessible* aProxy) {
   xpcAccessibleDocument* doc = GetAccService()->GetXPCDocument(this);
   MOZ_ASSERT(doc);
 
   return doc->GetXPCAccessible(aProxy);
 }
 
 #if defined(XP_WIN)
 void DocAccessibleParent::MaybeInitWindowEmulation() {
@@ -878,17 +878,17 @@ void DocAccessibleParent::SendParentCOMP
     return;
   }
 
   RefPtr<IAccessible> nativeAcc;
   aOuterDoc->GetNativeInterface(getter_AddRefs(nativeAcc));
   if (NS_WARN_IF(!nativeAcc)) {
     // Couldn't get a COM proxy for the outer doc. That probably means it died,
     // but the parent process hasn't received a message to remove it from the
-    // ProxyAccessible tree yet.
+    // RemoteAccessible tree yet.
     return;
   }
 
   RefPtr<IDispatch> wrapped(
       mscom::PassthruProxy::Wrap<IDispatch>(WrapNotNull(nativeAcc)));
 
   IDispatchHolder::COMPtrType ptr(mscom::ToProxyUniquePtr(std::move(wrapped)));
   IDispatchHolder holder(std::move(ptr));
@@ -938,17 +938,17 @@ mozilla::ipc::IPCResult DocAccessiblePar
 }
 
 mozilla::ipc::IPCResult DocAccessibleParent::RecvFocusEvent(
     const uint64_t& aID, const LayoutDeviceIntRect& aCaretRect) {
   if (mShutdown) {
     return IPC_OK();
   }
 
-  ProxyAccessible* proxy = GetAccessible(aID);
+  RemoteAccessible* proxy = GetAccessible(aID);
   if (!proxy) {
     NS_ERROR("no proxy for event!");
     return IPC_OK();
   }
 
   ProxyFocusEvent(proxy, aCaretRect);
 
   if (!nsCoreUtils::AccEventObserversExist()) {
@@ -972,27 +972,27 @@ mozilla::ipc::IPCResult DocAccessiblePar
 mozilla::ipc::IPCResult DocAccessibleParent::RecvBatch(
     const uint64_t& aBatchType, nsTArray<BatchData>&& aData) {
   // Only do something in Android. We can't ifdef the entire protocol out in
   // the ipdl because it doesn't allow preprocessing.
 #  if defined(ANDROID)
   if (mShutdown) {
     return IPC_OK();
   }
-  nsTArray<ProxyAccessible*> proxies(aData.Length());
+  nsTArray<RemoteAccessible*> proxies(aData.Length());
   for (size_t i = 0; i < aData.Length(); i++) {
     DocAccessibleParent* doc = static_cast<DocAccessibleParent*>(
         aData.ElementAt(i).Document().get_PDocAccessibleParent());
     MOZ_ASSERT(doc);
 
     if (doc->IsShutdown()) {
       continue;
     }
 
-    ProxyAccessible* proxy = doc->GetAccessible(aData.ElementAt(i).ID());
+    RemoteAccessible* proxy = doc->GetAccessible(aData.ElementAt(i).ID());
     if (!proxy) {
       MOZ_ASSERT_UNREACHABLE("No proxy found!");
       continue;
     }
 
     proxies.AppendElement(proxy);
   }
   ProxyBatch(this, aBatchType, proxies, aData);
--- a/accessible/ipc/DocAccessibleParent.h
+++ b/accessible/ipc/DocAccessibleParent.h
@@ -4,17 +4,17 @@
  * 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/. */
 
 #ifndef mozilla_a11y_DocAccessibleParent_h
 #define mozilla_a11y_DocAccessibleParent_h
 
 #include "nsAccessibilityService.h"
 #include "mozilla/a11y/PDocAccessibleParent.h"
-#include "mozilla/a11y/ProxyAccessible.h"
+#include "mozilla/a11y/RemoteAccessible.h"
 #include "mozilla/Tuple.h"
 #include "nsClassHashtable.h"
 #include "nsHashKeys.h"
 #include "nsISupportsImpl.h"
 
 namespace mozilla {
 namespace a11y {
 
@@ -23,23 +23,23 @@ class xpcAccessibleGeneric;
 #if !defined(XP_WIN)
 class DocAccessiblePlatformExtParent;
 #endif
 
 /*
  * These objects live in the main process and comunicate with and represent
  * an accessible document in a content process.
  */
-class DocAccessibleParent : public ProxyAccessible,
+class DocAccessibleParent : public RemoteAccessible,
                             public PDocAccessibleParent {
  public:
   NS_INLINE_DECL_REFCOUNTING(DocAccessibleParent);
 
   DocAccessibleParent()
-      : ProxyAccessible(this),
+      : RemoteAccessible(this),
         mParentDoc(kNoParentDoc),
 #if defined(XP_WIN)
         mEmulatedWindowHandle(nullptr),
 #endif  // defined(XP_WIN)
         mTopLevel(false),
         mTopLevelInContentProcess(false),
         mShutdown(false) {
     sMaxDocID++;
@@ -179,42 +179,42 @@ class DocAccessibleParent : public Proxy
   ipc::IPCResult AddChildDoc(DocAccessibleParent* aChildDoc, uint64_t aParentID,
                              bool aCreating = true);
 
   /*
    * Called when the document in the content process this object represents
    * notifies the main process a child document has been removed.
    */
   void RemoveChildDoc(DocAccessibleParent* aChildDoc) {
-    ProxyAccessible* parent = aChildDoc->RemoteParent();
+    RemoteAccessible* parent = aChildDoc->RemoteParent();
     MOZ_ASSERT(parent);
     if (parent) {
       aChildDoc->RemoteParent()->ClearChildDoc(aChildDoc);
     }
     DebugOnly<bool> result = mChildDocs.RemoveElement(aChildDoc->mActorID);
     aChildDoc->mParentDoc = kNoParentDoc;
     MOZ_ASSERT(result);
   }
 
-  void RemoveAccessible(ProxyAccessible* aAccessible) {
+  void RemoveAccessible(RemoteAccessible* aAccessible) {
     MOZ_DIAGNOSTIC_ASSERT(mAccessibles.GetEntry(aAccessible->ID()));
     mAccessibles.RemoveEntry(aAccessible->ID());
   }
 
   /**
    * Return the accessible for given id.
    */
-  ProxyAccessible* GetAccessible(uintptr_t aID) {
+  RemoteAccessible* GetAccessible(uintptr_t aID) {
     if (!aID) return this;
 
     ProxyEntry* e = mAccessibles.GetEntry(aID);
     return e ? e->mProxy : nullptr;
   }
 
-  const ProxyAccessible* GetAccessible(uintptr_t aID) const {
+  const RemoteAccessible* GetAccessible(uintptr_t aID) const {
     return const_cast<DocAccessibleParent*>(this)->GetAccessible(aID);
   }
 
   size_t ChildDocCount() const { return mChildDocs.Length(); }
   const DocAccessibleParent* ChildDocAt(size_t aIdx) const {
     return const_cast<DocAccessibleParent*>(this)->ChildDocAt(aIdx);
   }
   DocAccessibleParent* ChildDocAt(size_t aIdx) {
@@ -225,17 +225,17 @@ class DocAccessibleParent : public Proxy
   void MaybeInitWindowEmulation();
 
   /**
    * Note that an OuterDocAccessible can be created before the
    * DocAccessibleParent or vice versa. Therefore, this must be conditionally
    * called when either of these is created.
    * @param aOuterDoc The OuterDocAccessible to be returned as the parent of
    *        this document. Only GetNativeInterface() is called on this, so it
-   *        may be a ProxyAccessibleWrap or similar.
+   *        may be a RemoteAccessibleWrap or similar.
    */
   void SendParentCOMProxy(LocalAccessible* aOuterDoc);
 
   virtual mozilla::ipc::IPCResult RecvGetWindowedPluginIAccessible(
       const WindowsHandle& aHwnd, IAccessibleHolder* aPluginCOMProxy) override;
 
   /**
    * Set emulated native window handle for a document.
@@ -288,24 +288,24 @@ class DocAccessibleParent : public Proxy
     }
 
     static const void* KeyToPointer(uint64_t aKey) { return (void*)aKey; }
 
     static PLDHashNumber HashKey(const void* aKey) { return (uint64_t)aKey; }
 
     enum { ALLOW_MEMMOVE = true };
 
-    ProxyAccessible* mProxy;
+    RemoteAccessible* mProxy;
   };
 
-  uint32_t AddSubtree(ProxyAccessible* aParent,
+  uint32_t AddSubtree(RemoteAccessible* aParent,
                       const nsTArray<AccessibleData>& aNewTree, uint32_t aIdx,
                       uint32_t aIdxInParent);
   [[nodiscard]] bool CheckDocTree() const;
-  xpcAccessibleGeneric* GetXPCAccessible(ProxyAccessible* aProxy);
+  xpcAccessibleGeneric* GetXPCAccessible(RemoteAccessible* aProxy);
 
   nsTArray<uint64_t> mChildDocs;
   uint64_t mParentDoc;
 
 #if defined(XP_WIN)
   // The handle associated with the emulated window that contains this document
   HWND mEmulatedWindowHandle;
 
rename from accessible/ipc/ProxyAccessibleBase.cpp
rename to accessible/ipc/RemoteAccessibleBase.cpp
--- a/accessible/ipc/ProxyAccessibleBase.cpp
+++ b/accessible/ipc/RemoteAccessibleBase.cpp
@@ -3,30 +3,30 @@
 /* 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 "DocAccessible.h"
 #include "mozilla/a11y/DocAccessibleParent.h"
 #include "mozilla/a11y/DocManager.h"
 #include "mozilla/a11y/Platform.h"
-#include "mozilla/a11y/ProxyAccessibleBase.h"
-#include "mozilla/a11y/ProxyAccessible.h"
+#include "mozilla/a11y/RemoteAccessibleBase.h"
+#include "mozilla/a11y/RemoteAccessible.h"
 #include "mozilla/a11y/Role.h"
 #include "mozilla/dom/Element.h"
 #include "mozilla/dom/BrowserParent.h"
 #include "mozilla/Unused.h"
 #include "RelationType.h"
 #include "xpcAccessibleDocument.h"
 
 namespace mozilla {
 namespace a11y {
 
 template <class Derived>
-void ProxyAccessibleBase<Derived>::Shutdown() {
+void RemoteAccessibleBase<Derived>::Shutdown() {
   MOZ_DIAGNOSTIC_ASSERT(!IsDoc());
   xpcAccessibleDocument* xpcDoc =
       GetAccService()->GetCachedXPCDocument(Document());
   if (xpcDoc) {
     xpcDoc->NotifyOfShutdown(static_cast<Derived*>(this));
   }
 
   // XXX Ideally  this wouldn't be necessary, but it seems OuterDoc accessibles
@@ -43,66 +43,67 @@ void ProxyAccessibleBase<Derived>::Shutd
   }
 
   mChildren.Clear();
   ProxyDestroyed(static_cast<Derived*>(this));
   mDoc->RemoveAccessible(static_cast<Derived*>(this));
 }
 
 template <class Derived>
-void ProxyAccessibleBase<Derived>::SetChildDoc(DocAccessibleParent* aChildDoc) {
+void RemoteAccessibleBase<Derived>::SetChildDoc(
+    DocAccessibleParent* aChildDoc) {
   MOZ_ASSERT(aChildDoc);
   MOZ_ASSERT(mChildren.Length() == 0);
   mChildren.AppendElement(aChildDoc);
   mOuterDoc = true;
 }
 
 template <class Derived>
-void ProxyAccessibleBase<Derived>::ClearChildDoc(
+void RemoteAccessibleBase<Derived>::ClearChildDoc(
     DocAccessibleParent* aChildDoc) {
   MOZ_ASSERT(aChildDoc);
   // This is possible if we're replacing one document with another: Doc 1
   // has not had a chance to remove itself, but was already replaced by Doc 2
   // in SetChildDoc(). This could result in two subsequent calls to
   // ClearChildDoc() even though mChildren.Length() == 1.
   MOZ_ASSERT(mChildren.Length() <= 1);
   mChildren.RemoveElement(aChildDoc);
 }
 
 template <class Derived>
-uint32_t ProxyAccessibleBase<Derived>::EmbeddedChildCount() const {
+uint32_t RemoteAccessibleBase<Derived>::EmbeddedChildCount() const {
   size_t count = 0, kids = mChildren.Length();
   for (size_t i = 0; i < kids; i++) {
     if (mChildren[i]->IsEmbeddedObject()) {
       count++;
     }
   }
 
   return count;
 }
 
 template <class Derived>
-int32_t ProxyAccessibleBase<Derived>::IndexOfEmbeddedChild(
+int32_t RemoteAccessibleBase<Derived>::IndexOfEmbeddedChild(
     const Derived* aChild) {
   size_t index = 0, kids = mChildren.Length();
   for (size_t i = 0; i < kids; i++) {
     if (mChildren[i]->IsEmbeddedObject()) {
       if (mChildren[i] == aChild) {
         return index;
       }
 
       index++;
     }
   }
 
   return -1;
 }
 
 template <class Derived>
-Derived* ProxyAccessibleBase<Derived>::EmbeddedChildAt(size_t aChildIdx) {
+Derived* RemoteAccessibleBase<Derived>::EmbeddedChildAt(size_t aChildIdx) {
   size_t index = 0, kids = mChildren.Length();
   for (size_t i = 0; i < kids; i++) {
     if (!mChildren[i]->IsEmbeddedObject()) {
       continue;
     }
 
     if (index == aChildIdx) {
       return mChildren[i];
@@ -110,40 +111,41 @@ Derived* ProxyAccessibleBase<Derived>::E
 
     index++;
   }
 
   return nullptr;
 }
 
 template <class Derived>
-LocalAccessible* ProxyAccessibleBase<Derived>::OuterDocOfRemoteBrowser() const {
+LocalAccessible* RemoteAccessibleBase<Derived>::OuterDocOfRemoteBrowser()
+    const {
   auto tab = static_cast<dom::BrowserParent*>(mDoc->Manager());
   dom::Element* frame = tab->GetOwnerElement();
   NS_ASSERTION(frame, "why isn't the tab in a frame!");
   if (!frame) return nullptr;
 
   DocAccessible* chromeDoc = GetExistingDocAccessible(frame->OwnerDoc());
 
   return chromeDoc ? chromeDoc->GetAccessible(frame) : nullptr;
 }
 
 template <class Derived>
-void ProxyAccessibleBase<Derived>::SetParent(Derived* aParent) {
+void RemoteAccessibleBase<Derived>::SetParent(Derived* aParent) {
   MOZ_ASSERT(IsDoc(), "we should only reparent documents");
   if (!aParent) {
     mParent = kNoParent;
   } else {
     MOZ_ASSERT(!aParent->IsDoc());
     mParent = aParent->ID();
   }
 }
 
 template <class Derived>
-Derived* ProxyAccessibleBase<Derived>::RemoteParent() const {
+Derived* RemoteAccessibleBase<Derived>::RemoteParent() const {
   if (mParent == kNoParent) {
     return nullptr;
   }
 
   // if we are not a document then are parent is another proxy in the same
   // document.  That means we can just ask our document for the proxy with our
   // parent id.
   if (!IsDoc()) {
@@ -158,12 +160,12 @@ Derived* ProxyAccessibleBase<Derived>::R
   // Finally if we are a non top level document then our parent id is for a
   // proxy in our parent document so get the proxy from there.
   DocAccessibleParent* parentDoc = AsDoc()->ParentDoc();
   MOZ_ASSERT(parentDoc);
   MOZ_ASSERT(mParent);
   return parentDoc->GetAccessible(mParent);
 }
 
-template class ProxyAccessibleBase<ProxyAccessible>;
+template class RemoteAccessibleBase<RemoteAccessible>;
 
 }  // namespace a11y
 }  // namespace mozilla
rename from accessible/ipc/ProxyAccessibleBase.h
rename to accessible/ipc/RemoteAccessibleBase.h
--- a/accessible/ipc/ProxyAccessibleBase.h
+++ b/accessible/ipc/RemoteAccessibleBase.h
@@ -1,51 +1,51 @@
 /* -*- 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/. */
 
-#ifndef mozilla_a11y_ProxyAccessibleBase_h
-#define mozilla_a11y_ProxyAccessibleBase_h
+#ifndef mozilla_a11y_RemoteAccessibleBase_h
+#define mozilla_a11y_RemoteAccessibleBase_h
 
 #include "mozilla/a11y/Role.h"
 #include "nsIAccessibleText.h"
 #include "nsIAccessibleTypes.h"
 #include "LocalAccessible.h"
 #include "nsString.h"
 #include "nsTArray.h"
 #include "nsRect.h"
 #include "LocalAccessible.h"
 
 namespace mozilla {
 namespace a11y {
 
 class LocalAccessible;
 class Attribute;
 class DocAccessibleParent;
-class ProxyAccessible;
+class RemoteAccessible;
 enum class RelationType;
 
 enum Interfaces {
   HYPERTEXT = 1,
   HYPERLINK = 1 << 1,
   IMAGE = 1 << 2,
   VALUE = 1 << 3,
   TABLE = 1 << 4,
   TABLECELL = 1 << 5,
   DOCUMENT = 1 << 6,
   SELECTION = 1 << 7,
   ACTION = 1 << 8,
 };
 
 template <class Derived>
-class ProxyAccessibleBase {
+class RemoteAccessibleBase {
  public:
-  ~ProxyAccessibleBase() { MOZ_ASSERT(!mWrapper); }
+  ~RemoteAccessibleBase() { MOZ_ASSERT(!mWrapper); }
 
   void AddChildAt(uint32_t aIdx, Derived* aChild) {
     mChildren.InsertElementAt(aIdx, aChild);
   }
 
   uint32_t ChildrenCount() const { return mChildren.Length(); }
   Derived* RemoteChildAt(uint32_t aIdx) const { return mChildren[aIdx]; }
   Derived* RemoteFirstChild() const {
@@ -150,31 +150,32 @@ class ProxyAccessibleBase {
   }
   inline bool IsTableCell() const {
     return (mRole == roles::CELL || mRole == roles::COLUMNHEADER ||
             mRole == roles::ROWHEADER || mRole == roles::GRID_CELL ||
             mRole == roles::MATHML_CELL);
   }
 
  protected:
-  ProxyAccessibleBase(uint64_t aID, Derived* aParent, DocAccessibleParent* aDoc,
-                      role aRole, uint32_t aInterfaces)
+  RemoteAccessibleBase(uint64_t aID, Derived* aParent,
+                       DocAccessibleParent* aDoc, role aRole,
+                       uint32_t aInterfaces)
       : mParent(aParent->ID()),
         mDoc(aDoc),
         mWrapper(0),
         mID(aID),
         mRole(aRole),
         mOuterDoc(false),
         mIsDoc(false),
         mHasValue(aInterfaces & Interfaces::VALUE),
         mIsHyperLink(aInterfaces & Interfaces::HYPERLINK),
         mIsHyperText(aInterfaces & Interfaces::HYPERTEXT),
         mIsSelection(aInterfaces & Interfaces::SELECTION) {}
 
-  explicit ProxyAccessibleBase(DocAccessibleParent* aThisAsDoc)
+  explicit RemoteAccessibleBase(DocAccessibleParent* aThisAsDoc)
       : mParent(kNoParent),
         mDoc(aThisAsDoc),
         mWrapper(0),
         mID(0),
         mRole(roles::DOCUMENT),
         mOuterDoc(false),
         mIsDoc(true),
         mHasValue(false),
@@ -207,14 +208,14 @@ class ProxyAccessibleBase {
  public:
   const bool mIsDoc : 1;
   const bool mHasValue : 1;
   const bool mIsHyperLink : 1;
   const bool mIsHyperText : 1;
   const bool mIsSelection : 1;
 };
 
-extern template class ProxyAccessibleBase<ProxyAccessible>;
+extern template class RemoteAccessibleBase<RemoteAccessible>;
 
 }  // namespace a11y
 }  // namespace mozilla
 
 #endif
rename from accessible/ipc/ProxyAccessibleShared.h
rename to accessible/ipc/RemoteAccessibleShared.h
--- a/accessible/ipc/ProxyAccessibleShared.h
+++ b/accessible/ipc/RemoteAccessibleShared.h
@@ -1,20 +1,20 @@
 /* -*- 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/. */
 
-#ifndef mozilla_a11y_ProxyAccessibleShared_h
-#define mozilla_a11y_ProxyAccessibleShared_h
+#ifndef mozilla_a11y_RemoteAccessibleShared_h
+#define mozilla_a11y_RemoteAccessibleShared_h
 
 /**
- * These are function declarations shared between win/ProxyAccessible.h and
- * other/ProxyAccessible.h.
+ * These are function declarations shared between win/RemoteAccessible.h and
+ * other/RemoteAccessible.h.
  */
 
 /*
  * Return the states for the proxied accessible.
  */
 uint64_t State() const;
 
 /*
@@ -46,23 +46,23 @@ void Description(nsString& aDesc) const;
 /**
  * Get the set of attributes on the proxied accessible.
  */
 void Attributes(nsTArray<Attribute>* aAttrs) const;
 
 /**
  * Return set of targets of given relation type.
  */
-nsTArray<ProxyAccessible*> RelationByType(RelationType aType) const;
+nsTArray<RemoteAccessible*> RelationByType(RelationType aType) const;
 
 /**
  * Get all relations for this accessible.
  */
 void Relations(nsTArray<RelationType>* aTypes,
-               nsTArray<nsTArray<ProxyAccessible*>>* aTargetSets) const;
+               nsTArray<nsTArray<RemoteAccessible*>>* aTargetSets) const;
 
 bool IsSearchbox() const;
 
 nsAtom* LandmarkRole() const;
 
 nsStaticAtom* ARIARoleAtom() const;
 
 mozilla::a11y::GroupPos GroupPosition();
@@ -151,82 +151,82 @@ uint32_t StartOffset(bool* aOk);
 uint32_t EndOffset(bool* aOk);
 
 bool IsLinkValid();
 
 uint32_t AnchorCount(bool* aOk);
 
 void AnchorURIAt(uint32_t aIndex, nsCString& aURI, bool* aOk);
 
-ProxyAccessible* AnchorAt(uint32_t aIndex);
+RemoteAccessible* AnchorAt(uint32_t aIndex);
 
 uint32_t LinkCount();
 
-ProxyAccessible* LinkAt(const uint32_t& aIndex);
+RemoteAccessible* LinkAt(const uint32_t& aIndex);
 
-int32_t LinkIndexOf(ProxyAccessible* aLink);
+int32_t LinkIndexOf(RemoteAccessible* aLink);
 
 int32_t LinkIndexAtOffset(uint32_t aOffset);
 
-ProxyAccessible* TableOfACell();
+RemoteAccessible* TableOfACell();
 
 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 ColHeaderCells(nsTArray<RemoteAccessible*>* aCells);
 
-void RowHeaderCells(nsTArray<ProxyAccessible*>* aCells);
+void RowHeaderCells(nsTArray<RemoteAccessible*>* aCells);
 
 bool IsCellSelected();
 
-ProxyAccessible* TableCaption();
+RemoteAccessible* TableCaption();
 void TableSummary(nsString& aSummary);
 uint32_t TableColumnCount();
 uint32_t TableRowCount();
-ProxyAccessible* TableCellAt(uint32_t aRow, uint32_t aCol);
+RemoteAccessible* TableCellAt(uint32_t aRow, uint32_t aCol);
 int32_t TableCellIndexAt(uint32_t aRow, uint32_t aCol);
 int32_t TableColumnIndexAt(uint32_t aCellIndex);
 int32_t TableRowIndexAt(uint32_t aCellIndex);
 void TableRowAndColumnIndicesAt(uint32_t aCellIndex, int32_t* aRow,
                                 int32_t* aCol);
 uint32_t TableColumnExtentAt(uint32_t aRow, uint32_t aCol);
 uint32_t TableRowExtentAt(uint32_t aRow, uint32_t aCol);
 void TableColumnDescription(uint32_t aCol, nsString& aDescription);
 void TableRowDescription(uint32_t aRow, nsString& aDescription);
 bool TableColumnSelected(uint32_t aCol);
 bool TableRowSelected(uint32_t aRow);
 bool TableCellSelected(uint32_t aRow, uint32_t aCol);
 uint32_t TableSelectedCellCount();
 uint32_t TableSelectedColumnCount();
 uint32_t TableSelectedRowCount();
-void TableSelectedCells(nsTArray<ProxyAccessible*>* aCellIDs);
+void TableSelectedCells(nsTArray<RemoteAccessible*>* aCellIDs);
 void TableSelectedCellIndices(nsTArray<uint32_t>* aCellIndices);
 void TableSelectedColumnIndices(nsTArray<uint32_t>* aColumnIndices);
 void TableSelectedRowIndices(nsTArray<uint32_t>* aRowIndices);
 void TableSelectColumn(uint32_t aCol);
 void TableSelectRow(uint32_t aRow);
 void TableUnselectColumn(uint32_t aCol);
 void TableUnselectRow(uint32_t aRow);
 bool TableIsProbablyForLayout();
-ProxyAccessible* AtkTableColumnHeader(int32_t aCol);
-ProxyAccessible* AtkTableRowHeader(int32_t aRow);
+RemoteAccessible* AtkTableColumnHeader(int32_t aCol);
+RemoteAccessible* AtkTableRowHeader(int32_t aRow);
 
-void SelectedItems(nsTArray<ProxyAccessible*>* aSelectedItems);
+void SelectedItems(nsTArray<RemoteAccessible*>* aSelectedItems);
 uint32_t SelectedItemCount();
-ProxyAccessible* GetSelectedItem(uint32_t aIndex);
+RemoteAccessible* GetSelectedItem(uint32_t aIndex);
 bool IsItemSelected(uint32_t aIndex);
 bool AddItemToSelection(uint32_t aIndex);
 bool RemoveItemFromSelection(uint32_t aIndex);
 bool SelectAll();
 bool UnselectAll();
 
 void TakeSelection();
 void SetSelected(bool aSelect);
@@ -241,19 +241,19 @@ void AtkKeyBinding(nsString& aBinding);
 
 double CurValue();
 bool SetCurValue(double aValue);
 double MinValue();
 double MaxValue();
 double Step();
 
 void TakeFocus();
-ProxyAccessible* FocusedChild();
-ProxyAccessible* ChildAtPoint(int32_t aX, int32_t aY,
-                              LocalAccessible::EWhichChildAtPoint aWhichChild);
+RemoteAccessible* FocusedChild();
+RemoteAccessible* ChildAtPoint(int32_t aX, int32_t aY,
+                               LocalAccessible::EWhichChildAtPoint aWhichChild);
 nsIntRect Bounds();
 nsIntRect BoundsInCSSPixels();
 
 void Language(nsString& aLocale);
 void DocType(nsString& aType);
 void Title(nsString& aTitle);
 void URL(nsString& aURL);
 void MimeType(nsString aMime);
--- a/accessible/ipc/extension/android/DocAccessiblePlatformExtParent.cpp
+++ b/accessible/ipc/extension/android/DocAccessiblePlatformExtParent.cpp
@@ -22,19 +22,19 @@ mozilla::ipc::IPCResult DocAccessiblePla
 
   RefPtr<SessionAccessibility> sessionAcc =
       SessionAccessibility::GetInstanceFor(
           static_cast<DocAccessibleParent*>(Manager()));
   if (!sessionAcc) {
     return IPC_OK();
   }
 
-  ProxyAccessible* first =
+  RemoteAccessible* first =
       static_cast<DocAccessibleParent*>(aFirstDoc)->GetAccessible(aFirst);
-  ProxyAccessible* last =
+  RemoteAccessible* last =
       static_cast<DocAccessibleParent*>(aLastDoc)->GetAccessible(aLast);
 
   // We may not have proxy accessibles available yet for those accessibles
   // in the parent process.
   if (first && last) {
     sessionAcc->UpdateAccessibleFocusBoundaries(WrapperFor(first),
                                                 WrapperFor(last));
   }
--- a/accessible/ipc/moz.build
+++ b/accessible/ipc/moz.build
@@ -39,24 +39,24 @@ EXPORTS.mozilla.a11y += [
 
 if CONFIG["CC_TYPE"] in ("clang", "gcc"):
     CXXFLAGS += ["-Wno-error=shadow"]
 
 if CONFIG["ACCESSIBILITY"]:
     EXPORTS.mozilla.a11y += [
         "DocAccessibleChildBase.h",
         "DocAccessibleParent.h",
-        "ProxyAccessibleBase.h",
-        "ProxyAccessibleShared.h",
+        "RemoteAccessibleBase.h",
+        "RemoteAccessibleShared.h",
     ]
 
     UNIFIED_SOURCES += [
         "DocAccessibleChildBase.cpp",
         "DocAccessibleParent.cpp",
-        "ProxyAccessibleBase.cpp",
+        "RemoteAccessibleBase.cpp",
     ]
 
     LOCAL_INCLUDES += [
         "/accessible/base",
         "/accessible/generic",
         "/accessible/xpcom",
     ]
 
--- a/accessible/ipc/other/DocAccessibleChild.cpp
+++ b/accessible/ipc/other/DocAccessibleChild.cpp
@@ -3,17 +3,17 @@
 /* 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 "DocAccessibleChild.h"
 
 #include "nsAccessibilityService.h"
 #include "LocalAccessible-inl.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "Relation.h"
 #include "HyperTextAccessible-inl.h"
 #include "TextLeafAccessible.h"
 #include "ImageAccessible.h"
 #include "TableAccessible.h"
 #include "TableCellAccessible.h"
 #include "nsIPersistentProperties2.h"
 #include "nsAccUtils.h"
deleted file mode 100644
--- a/accessible/ipc/other/ProxyAccessible.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* -*- 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/. */
-
-#ifndef mozilla_a11y_ProxyAccessible_h
-#define mozilla_a11y_ProxyAccessible_h
-
-#include "LocalAccessible.h"
-#include "mozilla/a11y/ProxyAccessibleBase.h"
-#include "mozilla/a11y/Role.h"
-#include "nsIAccessibleText.h"
-#include "nsIAccessibleTypes.h"
-#include "nsString.h"
-#include "nsTArray.h"
-#include "nsRect.h"
-
-namespace mozilla {
-namespace a11y {
-
-class ProxyAccessible : public ProxyAccessibleBase<ProxyAccessible> {
- public:
-  ProxyAccessible(uint64_t aID, ProxyAccessible* aParent,
-                  DocAccessibleParent* aDoc, role aRole, uint32_t aInterfaces)
-      : ProxyAccessibleBase(aID, aParent, aDoc, aRole, aInterfaces)
-
-  {
-    MOZ_COUNT_CTOR(ProxyAccessible);
-  }
-
-  MOZ_COUNTED_DTOR(ProxyAccessible)
-
-#include "mozilla/a11y/ProxyAccessibleShared.h"
-
- protected:
-  explicit ProxyAccessible(DocAccessibleParent* aThisAsDoc)
-      : ProxyAccessibleBase(aThisAsDoc) {
-    MOZ_COUNT_CTOR(ProxyAccessible);
-  }
-};
-
-}  // namespace a11y
-}  // namespace mozilla
-
-#endif
rename from accessible/ipc/other/ProxyAccessible.cpp
rename to accessible/ipc/other/RemoteAccessible.cpp
--- a/accessible/ipc/other/ProxyAccessible.cpp
+++ b/accessible/ipc/other/RemoteAccessible.cpp
@@ -1,783 +1,789 @@
 /* -*- 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 "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "mozilla/a11y/DocAccessibleParent.h"
 #include "DocAccessible.h"
 #include "mozilla/a11y/DocManager.h"
 #include "mozilla/dom/Element.h"
 #include "mozilla/dom/BrowserParent.h"
 #include "mozilla/Unused.h"
 #include "mozilla/a11y/Platform.h"
 #include "RelationType.h"
 #include "mozilla/a11y/Role.h"
 
 namespace mozilla {
 namespace a11y {
 
-uint64_t ProxyAccessible::State() const {
+uint64_t RemoteAccessible::State() const {
   uint64_t state = 0;
   Unused << mDoc->SendState(mID, &state);
   return state;
 }
 
-uint64_t ProxyAccessible::NativeState() const {
+uint64_t RemoteAccessible::NativeState() const {
   uint64_t state = 0;
   Unused << mDoc->SendNativeState(mID, &state);
   return state;
 }
 
-uint32_t ProxyAccessible::Name(nsString& aName) const {
+uint32_t RemoteAccessible::Name(nsString& aName) const {
   uint32_t flag;
   Unused << mDoc->SendName(mID, &aName, &flag);
   return flag;
 }
 
-void ProxyAccessible::Value(nsString& aValue) const {
+void RemoteAccessible::Value(nsString& aValue) const {
   Unused << mDoc->SendValue(mID, &aValue);
 }
 
-void ProxyAccessible::Help(nsString& aHelp) const {
+void RemoteAccessible::Help(nsString& aHelp) const {
   Unused << mDoc->SendHelp(mID, &aHelp);
 }
 
-void ProxyAccessible::Description(nsString& aDesc) const {
+void RemoteAccessible::Description(nsString& aDesc) const {
   Unused << mDoc->SendDescription(mID, &aDesc);
 }
 
-void ProxyAccessible::Attributes(nsTArray<Attribute>* aAttrs) const {
+void RemoteAccessible::Attributes(nsTArray<Attribute>* aAttrs) const {
   Unused << mDoc->SendAttributes(mID, aAttrs);
 }
 
-nsTArray<ProxyAccessible*> ProxyAccessible::RelationByType(
+nsTArray<RemoteAccessible*> RemoteAccessible::RelationByType(
     RelationType aType) const {
   nsTArray<uint64_t> targetIDs;
   Unused << mDoc->SendRelationByType(mID, static_cast<uint32_t>(aType),
                                      &targetIDs);
 
   size_t targetCount = targetIDs.Length();
-  nsTArray<ProxyAccessible*> targets(targetCount);
+  nsTArray<RemoteAccessible*> targets(targetCount);
   for (size_t i = 0; i < targetCount; i++) {
-    if (ProxyAccessible* proxy = mDoc->GetAccessible(targetIDs[i])) {
+    if (RemoteAccessible* proxy = mDoc->GetAccessible(targetIDs[i])) {
       targets.AppendElement(proxy);
     }
   }
 
   return targets;
 }
 
-void ProxyAccessible::Relations(
+void RemoteAccessible::Relations(
     nsTArray<RelationType>* aTypes,
-    nsTArray<nsTArray<ProxyAccessible*>>* aTargetSets) const {
+    nsTArray<nsTArray<RemoteAccessible*>>* aTargetSets) const {
   nsTArray<RelationTargets> ipcRelations;
   Unused << mDoc->SendRelations(mID, &ipcRelations);
 
   size_t relationCount = ipcRelations.Length();
   aTypes->SetCapacity(relationCount);
   aTargetSets->SetCapacity(relationCount);
   for (size_t i = 0; i < relationCount; i++) {
     uint32_t type = ipcRelations[i].Type();
     if (type > static_cast<uint32_t>(RelationType::LAST)) continue;
 
     size_t targetCount = ipcRelations[i].Targets().Length();
-    nsTArray<ProxyAccessible*> targets(targetCount);
+    nsTArray<RemoteAccessible*> targets(targetCount);
     for (size_t j = 0; j < targetCount; j++) {
-      if (ProxyAccessible* proxy =
+      if (RemoteAccessible* proxy =
               mDoc->GetAccessible(ipcRelations[i].Targets()[j])) {
         targets.AppendElement(proxy);
       }
     }
 
     if (targets.IsEmpty()) continue;
 
     aTargetSets->AppendElement(std::move(targets));
     aTypes->AppendElement(static_cast<RelationType>(type));
   }
 }
 
-bool ProxyAccessible::IsSearchbox() const {
+bool RemoteAccessible::IsSearchbox() const {
   bool retVal = false;
   Unused << mDoc->SendIsSearchbox(mID, &retVal);
   return retVal;
 }
 
-nsAtom* ProxyAccessible::LandmarkRole() const {
+nsAtom* RemoteAccessible::LandmarkRole() const {
   nsString landmark;
   Unused << mDoc->SendLandmarkRole(mID, &landmark);
   return NS_GetStaticAtom(landmark);
 }
 
-nsStaticAtom* ProxyAccessible::ARIARoleAtom() const {
+nsStaticAtom* RemoteAccessible::ARIARoleAtom() const {
   nsString role;
   Unused << mDoc->SendARIARoleAtom(mID, &role);
   return NS_GetStaticAtom(role);
 }
 
-GroupPos ProxyAccessible::GroupPosition() {
+GroupPos RemoteAccessible::GroupPosition() {
   GroupPos groupPos;
   Unused << mDoc->SendGroupPosition(mID, &groupPos.level, &groupPos.setSize,
                                     &groupPos.posInSet);
   return groupPos;
 }
 
-void ProxyAccessible::ScrollTo(uint32_t aScrollType) {
+void RemoteAccessible::ScrollTo(uint32_t aScrollType) {
   Unused << mDoc->SendScrollTo(mID, aScrollType);
 }
 
-void ProxyAccessible::ScrollToPoint(uint32_t aScrollType, int32_t aX,
-                                    int32_t aY) {
+void RemoteAccessible::ScrollToPoint(uint32_t aScrollType, int32_t aX,
+                                     int32_t aY) {
   Unused << mDoc->SendScrollToPoint(mID, aScrollType, aX, aY);
 }
 
-void ProxyAccessible::Announce(const nsString& aAnnouncement,
-                               uint16_t aPriority) {
+void RemoteAccessible::Announce(const nsString& aAnnouncement,
+                                uint16_t aPriority) {
   Unused << mDoc->SendAnnounce(mID, aAnnouncement, aPriority);
 }
 
-int32_t ProxyAccessible::CaretLineNumber() {
+int32_t RemoteAccessible::CaretLineNumber() {
   int32_t line = -1;
   Unused << mDoc->SendCaretOffset(mID, &line);
   return line;
 }
 
-int32_t ProxyAccessible::CaretOffset() {
+int32_t RemoteAccessible::CaretOffset() {
   int32_t offset = 0;
   Unused << mDoc->SendCaretOffset(mID, &offset);
   return offset;
 }
 
-void ProxyAccessible::SetCaretOffset(int32_t aOffset) {
+void RemoteAccessible::SetCaretOffset(int32_t aOffset) {
   Unused << mDoc->SendSetCaretOffset(mID, aOffset);
 }
 
-int32_t ProxyAccessible::CharacterCount() {
+int32_t RemoteAccessible::CharacterCount() {
   int32_t count = 0;
   Unused << mDoc->SendCharacterCount(mID, &count);
   return count;
 }
 
-int32_t ProxyAccessible::SelectionCount() {
+int32_t RemoteAccessible::SelectionCount() {
   int32_t count = 0;
   Unused << mDoc->SendSelectionCount(mID, &count);
   return count;
 }
 
-bool ProxyAccessible::TextSubstring(int32_t aStartOffset, int32_t aEndOfset,
-                                    nsString& aText) const {
+bool RemoteAccessible::TextSubstring(int32_t aStartOffset, int32_t aEndOfset,
+                                     nsString& aText) const {
   bool valid;
   Unused << mDoc->SendTextSubstring(mID, aStartOffset, aEndOfset, &aText,
                                     &valid);
   return valid;
 }
 
-void ProxyAccessible::GetTextAfterOffset(int32_t aOffset,
-                                         AccessibleTextBoundary aBoundaryType,
-                                         nsString& aText, int32_t* aStartOffset,
-                                         int32_t* aEndOffset) {
+void RemoteAccessible::GetTextAfterOffset(int32_t aOffset,
+                                          AccessibleTextBoundary aBoundaryType,
+                                          nsString& aText,
+                                          int32_t* aStartOffset,
+                                          int32_t* aEndOffset) {
   Unused << mDoc->SendGetTextAfterOffset(mID, aOffset, aBoundaryType, &aText,
                                          aStartOffset, aEndOffset);
 }
 
-void ProxyAccessible::GetTextAtOffset(int32_t aOffset,
-                                      AccessibleTextBoundary aBoundaryType,
-                                      nsString& aText, int32_t* aStartOffset,
-                                      int32_t* aEndOffset) {
+void RemoteAccessible::GetTextAtOffset(int32_t aOffset,
+                                       AccessibleTextBoundary aBoundaryType,
+                                       nsString& aText, int32_t* aStartOffset,
+                                       int32_t* aEndOffset) {
   Unused << mDoc->SendGetTextAtOffset(mID, aOffset, aBoundaryType, &aText,
                                       aStartOffset, aEndOffset);
 }
 
-void ProxyAccessible::GetTextBeforeOffset(int32_t aOffset,
-                                          AccessibleTextBoundary aBoundaryType,
-                                          nsString& aText,
-                                          int32_t* aStartOffset,
-                                          int32_t* aEndOffset) {
+void RemoteAccessible::GetTextBeforeOffset(int32_t aOffset,
+                                           AccessibleTextBoundary aBoundaryType,
+                                           nsString& aText,
+                                           int32_t* aStartOffset,
+                                           int32_t* aEndOffset) {
   Unused << mDoc->SendGetTextBeforeOffset(mID, aOffset, aBoundaryType, &aText,
                                           aStartOffset, aEndOffset);
 }
 
-char16_t ProxyAccessible::CharAt(int32_t aOffset) {
+char16_t RemoteAccessible::CharAt(int32_t aOffset) {
   uint16_t retval = 0;
   Unused << mDoc->SendCharAt(mID, aOffset, &retval);
   return static_cast<char16_t>(retval);
 }
 
-void ProxyAccessible::TextAttributes(bool aIncludeDefAttrs, int32_t aOffset,
-                                     nsTArray<Attribute>* aAttributes,
-                                     int32_t* aStartOffset,
-                                     int32_t* aEndOffset) {
+void RemoteAccessible::TextAttributes(bool aIncludeDefAttrs, int32_t aOffset,
+                                      nsTArray<Attribute>* aAttributes,
+                                      int32_t* aStartOffset,
+                                      int32_t* aEndOffset) {
   Unused << mDoc->SendTextAttributes(mID, aIncludeDefAttrs, aOffset,
                                      aAttributes, aStartOffset, aEndOffset);
 }
 
-void ProxyAccessible::DefaultTextAttributes(nsTArray<Attribute>* aAttrs) {
+void RemoteAccessible::DefaultTextAttributes(nsTArray<Attribute>* aAttrs) {
   Unused << mDoc->SendDefaultTextAttributes(mID, aAttrs);
 }
 
-nsIntRect ProxyAccessible::TextBounds(int32_t aStartOffset, int32_t aEndOffset,
-                                      uint32_t aCoordType) {
+nsIntRect RemoteAccessible::TextBounds(int32_t aStartOffset, int32_t aEndOffset,
+                                       uint32_t aCoordType) {
   nsIntRect rect;
   Unused << mDoc->SendTextBounds(mID, aStartOffset, aEndOffset, aCoordType,
                                  &rect);
   return rect;
 }
 
-nsIntRect ProxyAccessible::CharBounds(int32_t aOffset, uint32_t aCoordType) {
+nsIntRect RemoteAccessible::CharBounds(int32_t aOffset, uint32_t aCoordType) {
   nsIntRect rect;
   Unused << mDoc->SendCharBounds(mID, aOffset, aCoordType, &rect);
   return rect;
 }
 
-int32_t ProxyAccessible::OffsetAtPoint(int32_t aX, int32_t aY,
-                                       uint32_t aCoordType) {
+int32_t RemoteAccessible::OffsetAtPoint(int32_t aX, int32_t aY,
+                                        uint32_t aCoordType) {
   int32_t retVal = -1;
   Unused << mDoc->SendOffsetAtPoint(mID, aX, aY, aCoordType, &retVal);
   return retVal;
 }
 
-bool ProxyAccessible::SelectionBoundsAt(int32_t aSelectionNum, nsString& aData,
-                                        int32_t* aStartOffset,
-                                        int32_t* aEndOffset) {
+bool RemoteAccessible::SelectionBoundsAt(int32_t aSelectionNum, nsString& aData,
+                                         int32_t* aStartOffset,
+                                         int32_t* aEndOffset) {
   bool retVal = false;
   Unused << mDoc->SendSelectionBoundsAt(mID, aSelectionNum, &retVal, &aData,
                                         aStartOffset, aEndOffset);
   return retVal;
 }
 
-bool ProxyAccessible::SetSelectionBoundsAt(int32_t aSelectionNum,
-                                           int32_t aStartOffset,
-                                           int32_t aEndOffset) {
+bool RemoteAccessible::SetSelectionBoundsAt(int32_t aSelectionNum,
+                                            int32_t aStartOffset,
+                                            int32_t aEndOffset) {
   bool retVal = false;
   Unused << mDoc->SendSetSelectionBoundsAt(mID, aSelectionNum, aStartOffset,
                                            aEndOffset, &retVal);
   return retVal;
 }
 
-bool ProxyAccessible::AddToSelection(int32_t aStartOffset, int32_t aEndOffset) {
+bool RemoteAccessible::AddToSelection(int32_t aStartOffset,
+                                      int32_t aEndOffset) {
   bool retVal = false;
   Unused << mDoc->SendAddToSelection(mID, aStartOffset, aEndOffset, &retVal);
   return retVal;
 }
 
-bool ProxyAccessible::RemoveFromSelection(int32_t aSelectionNum) {
+bool RemoteAccessible::RemoveFromSelection(int32_t aSelectionNum) {
   bool retVal = false;
   Unused << mDoc->SendRemoveFromSelection(mID, aSelectionNum, &retVal);
   return retVal;
 }
 
-void ProxyAccessible::ScrollSubstringTo(int32_t aStartOffset,
-                                        int32_t aEndOffset,
-                                        uint32_t aScrollType) {
+void RemoteAccessible::ScrollSubstringTo(int32_t aStartOffset,
+                                         int32_t aEndOffset,
+                                         uint32_t aScrollType) {
   Unused << mDoc->SendScrollSubstringTo(mID, aStartOffset, aEndOffset,
                                         aScrollType);
 }
 
-void ProxyAccessible::ScrollSubstringToPoint(int32_t aStartOffset,
-                                             int32_t aEndOffset,
-                                             uint32_t aCoordinateType,
-                                             int32_t aX, int32_t aY) {
+void RemoteAccessible::ScrollSubstringToPoint(int32_t aStartOffset,
+                                              int32_t aEndOffset,
+                                              uint32_t aCoordinateType,
+                                              int32_t aX, int32_t aY) {
   Unused << mDoc->SendScrollSubstringToPoint(mID, aStartOffset, aEndOffset,
                                              aCoordinateType, aX, aY);
 }
 
-void ProxyAccessible::Text(nsString* aText) {
+void RemoteAccessible::Text(nsString* aText) {
   Unused << mDoc->SendText(mID, aText);
 }
 
-void ProxyAccessible::ReplaceText(const nsString& aText) {
+void RemoteAccessible::ReplaceText(const nsString& aText) {
   Unused << mDoc->SendReplaceText(mID, aText);
 }
 
-bool ProxyAccessible::InsertText(const nsString& aText, int32_t aPosition) {
+bool RemoteAccessible::InsertText(const nsString& aText, int32_t aPosition) {
   bool valid;
   Unused << mDoc->SendInsertText(mID, aText, aPosition, &valid);
   return valid;
 }
 
-bool ProxyAccessible::CopyText(int32_t aStartPos, int32_t aEndPos) {
+bool RemoteAccessible::CopyText(int32_t aStartPos, int32_t aEndPos) {
   bool valid;
   Unused << mDoc->SendCopyText(mID, aStartPos, aEndPos, &valid);
   return valid;
 }
 
-bool ProxyAccessible::CutText(int32_t aStartPos, int32_t aEndPos) {
+bool RemoteAccessible::CutText(int32_t aStartPos, int32_t aEndPos) {
   bool valid;
   Unused << mDoc->SendCutText(mID, aStartPos, aEndPos, &valid);
   return valid;
 }
 
-bool ProxyAccessible::DeleteText(int32_t aStartPos, int32_t aEndPos) {
+bool RemoteAccessible::DeleteText(int32_t aStartPos, int32_t aEndPos) {
   bool valid;
   Unused << mDoc->SendDeleteText(mID, aStartPos, aEndPos, &valid);
   return valid;
 }
 
-bool ProxyAccessible::PasteText(int32_t aPosition) {
+bool RemoteAccessible::PasteText(int32_t aPosition) {
   bool valid;
   Unused << mDoc->SendPasteText(mID, aPosition, &valid);
   return valid;
 }
 
-nsIntPoint ProxyAccessible::ImagePosition(uint32_t aCoordType) {
+nsIntPoint RemoteAccessible::ImagePosition(uint32_t aCoordType) {
   nsIntPoint retVal;
   Unused << mDoc->SendImagePosition(mID, aCoordType, &retVal);
   return retVal;
 }
 
-nsIntSize ProxyAccessible::ImageSize() {
+nsIntSize RemoteAccessible::ImageSize() {
   nsIntSize retVal;
   Unused << mDoc->SendImageSize(mID, &retVal);
   return retVal;
 }
 
-uint32_t ProxyAccessible::StartOffset(bool* aOk) {
+uint32_t RemoteAccessible::StartOffset(bool* aOk) {
   uint32_t retVal = 0;
   Unused << mDoc->SendStartOffset(mID, &retVal, aOk);
   return retVal;
 }
 
-uint32_t ProxyAccessible::EndOffset(bool* aOk) {
+uint32_t RemoteAccessible::EndOffset(bool* aOk) {
   uint32_t retVal = 0;
   Unused << mDoc->SendEndOffset(mID, &retVal, aOk);
   return retVal;
 }
 
-bool ProxyAccessible::IsLinkValid() {
+bool RemoteAccessible::IsLinkValid() {
   bool retVal = false;
   Unused << mDoc->SendIsLinkValid(mID, &retVal);
   return retVal;
 }
 
-uint32_t ProxyAccessible::AnchorCount(bool* aOk) {
+uint32_t RemoteAccessible::AnchorCount(bool* aOk) {
   uint32_t retVal = 0;
   Unused << mDoc->SendAnchorCount(mID, &retVal, aOk);
   return retVal;
 }
 
-void ProxyAccessible::AnchorURIAt(uint32_t aIndex, nsCString& aURI, bool* aOk) {
+void RemoteAccessible::AnchorURIAt(uint32_t aIndex, nsCString& aURI,
+                                   bool* aOk) {
   Unused << mDoc->SendAnchorURIAt(mID, aIndex, &aURI, aOk);
 }
 
-ProxyAccessible* ProxyAccessible::AnchorAt(uint32_t aIndex) {
+RemoteAccessible* RemoteAccessible::AnchorAt(uint32_t aIndex) {
   uint64_t id = 0;
   bool ok = false;
   Unused << mDoc->SendAnchorAt(mID, aIndex, &id, &ok);
   return ok ? mDoc->GetAccessible(id) : nullptr;
 }
 
-uint32_t ProxyAccessible::LinkCount() {
+uint32_t RemoteAccessible::LinkCount() {
   uint32_t retVal = 0;
   Unused << mDoc->SendLinkCount(mID, &retVal);
   return retVal;
 }
 
-ProxyAccessible* ProxyAccessible::LinkAt(const uint32_t& aIndex) {
+RemoteAccessible* RemoteAccessible::LinkAt(const uint32_t& aIndex) {
   uint64_t linkID = 0;
   bool ok = false;
   Unused << mDoc->SendLinkAt(mID, aIndex, &linkID, &ok);
   return ok ? mDoc->GetAccessible(linkID) : nullptr;
 }
 
-int32_t ProxyAccessible::LinkIndexOf(ProxyAccessible* aLink) {
+int32_t RemoteAccessible::LinkIndexOf(RemoteAccessible* aLink) {
   int32_t retVal = -1;
   if (aLink) {
     Unused << mDoc->SendLinkIndexOf(mID, aLink->ID(), &retVal);
   }
 
   return retVal;
 }
 
-int32_t ProxyAccessible::LinkIndexAtOffset(uint32_t aOffset) {
+int32_t RemoteAccessible::LinkIndexAtOffset(uint32_t aOffset) {
   int32_t retVal = -1;
   Unused << mDoc->SendLinkIndexAtOffset(mID, aOffset, &retVal);
   return retVal;
 }
 
-ProxyAccessible* ProxyAccessible::TableOfACell() {
+RemoteAccessible* RemoteAccessible::TableOfACell() {
   uint64_t tableID = 0;
   bool ok = false;
   Unused << mDoc->SendTableOfACell(mID, &tableID, &ok);
   return ok ? mDoc->GetAccessible(tableID) : nullptr;
 }
 
-uint32_t ProxyAccessible::ColIdx() {
+uint32_t RemoteAccessible::ColIdx() {
   uint32_t index = 0;
   Unused << mDoc->SendColIdx(mID, &index);
   return index;
 }
 
-uint32_t ProxyAccessible::RowIdx() {
+uint32_t RemoteAccessible::RowIdx() {
   uint32_t index = 0;
   Unused << mDoc->SendRowIdx(mID, &index);
   return index;
 }
 
-void ProxyAccessible::GetColRowExtents(uint32_t* aColIdx, uint32_t* aRowIdx,
-                                       uint32_t* aColExtent,
-                                       uint32_t* aRowExtent) {
+void RemoteAccessible::GetColRowExtents(uint32_t* aColIdx, uint32_t* aRowIdx,
+                                        uint32_t* aColExtent,
+                                        uint32_t* aRowExtent) {
   Unused << mDoc->SendGetColRowExtents(mID, aColIdx, aRowIdx, aColExtent,
                                        aRowExtent);
 }
 
-void ProxyAccessible::GetPosition(uint32_t* aColIdx, uint32_t* aRowIdx) {
+void RemoteAccessible::GetPosition(uint32_t* aColIdx, uint32_t* aRowIdx) {
   Unused << mDoc->SendGetPosition(mID, aColIdx, aRowIdx);
 }
 
-uint32_t ProxyAccessible::ColExtent() {
+uint32_t RemoteAccessible::ColExtent() {
   uint32_t extent = 0;
   Unused << mDoc->SendColExtent(mID, &extent);
   return extent;
 }
 
-uint32_t ProxyAccessible::RowExtent() {
+uint32_t RemoteAccessible::RowExtent() {
   uint32_t extent = 0;
   Unused << mDoc->SendRowExtent(mID, &extent);
   return extent;
 }
 
-void ProxyAccessible::ColHeaderCells(nsTArray<ProxyAccessible*>* aCells) {
+void RemoteAccessible::ColHeaderCells(nsTArray<RemoteAccessible*>* aCells) {
   nsTArray<uint64_t> targetIDs;
   Unused << mDoc->SendColHeaderCells(mID, &targetIDs);
 
   size_t targetCount = targetIDs.Length();
   for (size_t i = 0; i < targetCount; i++) {
     aCells->AppendElement(mDoc->GetAccessible(targetIDs[i]));
   }
 }
 
-void ProxyAccessible::RowHeaderCells(nsTArray<ProxyAccessible*>* aCells) {
+void RemoteAccessible::RowHeaderCells(nsTArray<RemoteAccessible*>* aCells) {
   nsTArray<uint64_t> targetIDs;
   Unused << mDoc->SendRowHeaderCells(mID, &targetIDs);
 
   size_t targetCount = targetIDs.Length();
   for (size_t i = 0; i < targetCount; i++) {
     aCells->AppendElement(mDoc->GetAccessible(targetIDs[i]));
   }
 }
 
-bool ProxyAccessible::IsCellSelected() {
+bool RemoteAccessible::IsCellSelected() {
   bool selected = false;
   Unused << mDoc->SendIsCellSelected(mID, &selected);
   return selected;
 }
 
-ProxyAccessible* ProxyAccessible::TableCaption() {
+RemoteAccessible* RemoteAccessible::TableCaption() {
   uint64_t captionID = 0;
   bool ok = false;
   Unused << mDoc->SendTableCaption(mID, &captionID, &ok);
   return ok ? mDoc->GetAccessible(captionID) : nullptr;
 }
 
-void ProxyAccessible::TableSummary(nsString& aSummary) {
+void RemoteAccessible::TableSummary(nsString& aSummary) {
   Unused << mDoc->SendTableSummary(mID, &aSummary);
 }
 
-uint32_t ProxyAccessible::TableColumnCount() {
+uint32_t RemoteAccessible::TableColumnCount() {
   uint32_t count = 0;
   Unused << mDoc->SendTableColumnCount(mID, &count);
   return count;
 }
 
-uint32_t ProxyAccessible::TableRowCount() {
+uint32_t RemoteAccessible::TableRowCount() {
   uint32_t count = 0;
   Unused << mDoc->SendTableRowCount(mID, &count);
   return count;
 }
 
-ProxyAccessible* ProxyAccessible::TableCellAt(uint32_t aRow, uint32_t aCol) {
+RemoteAccessible* RemoteAccessible::TableCellAt(uint32_t aRow, uint32_t aCol) {
   uint64_t cellID = 0;
   bool ok = false;
   Unused << mDoc->SendTableCellAt(mID, aRow, aCol, &cellID, &ok);
   return ok ? mDoc->GetAccessible(cellID) : nullptr;
 }
 
-int32_t ProxyAccessible::TableCellIndexAt(uint32_t aRow, uint32_t aCol) {
+int32_t RemoteAccessible::TableCellIndexAt(uint32_t aRow, uint32_t aCol) {
   int32_t index = 0;
   Unused << mDoc->SendTableCellIndexAt(mID, aRow, aCol, &index);
   return index;
 }
 
-int32_t ProxyAccessible::TableColumnIndexAt(uint32_t aCellIndex) {
+int32_t RemoteAccessible::TableColumnIndexAt(uint32_t aCellIndex) {
   int32_t index = 0;
   Unused << mDoc->SendTableColumnIndexAt(mID, aCellIndex, &index);
   return index;
 }
 
-int32_t ProxyAccessible::TableRowIndexAt(uint32_t aCellIndex) {
+int32_t RemoteAccessible::TableRowIndexAt(uint32_t aCellIndex) {
   int32_t index = 0;
   Unused << mDoc->SendTableRowIndexAt(mID, aCellIndex, &index);
   return index;
 }
 
-void ProxyAccessible::TableRowAndColumnIndicesAt(uint32_t aCellIndex,
-                                                 int32_t* aRow, int32_t* aCol) {
+void RemoteAccessible::TableRowAndColumnIndicesAt(uint32_t aCellIndex,
+                                                  int32_t* aRow,
+                                                  int32_t* aCol) {
   Unused << mDoc->SendTableRowAndColumnIndicesAt(mID, aCellIndex, aRow, aCol);
 }
 
-uint32_t ProxyAccessible::TableColumnExtentAt(uint32_t aRow, uint32_t aCol) {
+uint32_t RemoteAccessible::TableColumnExtentAt(uint32_t aRow, uint32_t aCol) {
   uint32_t extent = 0;
   Unused << mDoc->SendTableColumnExtentAt(mID, aRow, aCol, &extent);
   return extent;
 }
 
-uint32_t ProxyAccessible::TableRowExtentAt(uint32_t aRow, uint32_t aCol) {
+uint32_t RemoteAccessible::TableRowExtentAt(uint32_t aRow, uint32_t aCol) {
   uint32_t extent = 0;
   Unused << mDoc->SendTableRowExtentAt(mID, aRow, aCol, &extent);
   return extent;
 }
 
-void ProxyAccessible::TableColumnDescription(uint32_t aCol,
-                                             nsString& aDescription) {
+void RemoteAccessible::TableColumnDescription(uint32_t aCol,
+                                              nsString& aDescription) {
   Unused << mDoc->SendTableColumnDescription(mID, aCol, &aDescription);
 }
 
-void ProxyAccessible::TableRowDescription(uint32_t aRow,
-                                          nsString& aDescription) {
+void RemoteAccessible::TableRowDescription(uint32_t aRow,
+                                           nsString& aDescription) {
   Unused << mDoc->SendTableRowDescription(mID, aRow, &aDescription);
 }
 
-bool ProxyAccessible::TableColumnSelected(uint32_t aCol) {
+bool RemoteAccessible::TableColumnSelected(uint32_t aCol) {
   bool selected = false;
   Unused << mDoc->SendTableColumnSelected(mID, aCol, &selected);
   return selected;
 }
 
-bool ProxyAccessible::TableRowSelected(uint32_t aRow) {
+bool RemoteAccessible::TableRowSelected(uint32_t aRow) {
   bool selected = false;
   Unused << mDoc->SendTableRowSelected(mID, aRow, &selected);
   return selected;
 }
 
-bool ProxyAccessible::TableCellSelected(uint32_t aRow, uint32_t aCol) {
+bool RemoteAccessible::TableCellSelected(uint32_t aRow, uint32_t aCol) {
   bool selected = false;
   Unused << mDoc->SendTableCellSelected(mID, aRow, aCol, &selected);
   return selected;
 }
 
-uint32_t ProxyAccessible::TableSelectedCellCount() {
+uint32_t RemoteAccessible::TableSelectedCellCount() {
   uint32_t count = 0;
   Unused << mDoc->SendTableSelectedCellCount(mID, &count);
   return count;
 }
 
-uint32_t ProxyAccessible::TableSelectedColumnCount() {
+uint32_t RemoteAccessible::TableSelectedColumnCount() {
   uint32_t count = 0;
   Unused << mDoc->SendTableSelectedColumnCount(mID, &count);
   return count;
 }
 
-uint32_t ProxyAccessible::TableSelectedRowCount() {
+uint32_t RemoteAccessible::TableSelectedRowCount() {
   uint32_t count = 0;
   Unused << mDoc->SendTableSelectedRowCount(mID, &count);
   return count;
 }
 
-void ProxyAccessible::TableSelectedCells(nsTArray<ProxyAccessible*>* aCellIDs) {
+void RemoteAccessible::TableSelectedCells(
+    nsTArray<RemoteAccessible*>* aCellIDs) {
   AutoTArray<uint64_t, 30> cellIDs;
   Unused << mDoc->SendTableSelectedCells(mID, &cellIDs);
   aCellIDs->SetCapacity(cellIDs.Length());
   for (uint32_t i = 0; i < cellIDs.Length(); ++i) {
     aCellIDs->AppendElement(mDoc->GetAccessible(cellIDs[i]));
   }
 }
 
-void ProxyAccessible::TableSelectedCellIndices(
+void RemoteAccessible::TableSelectedCellIndices(
     nsTArray<uint32_t>* aCellIndices) {
   Unused << mDoc->SendTableSelectedCellIndices(mID, aCellIndices);
 }
 
-void ProxyAccessible::TableSelectedColumnIndices(
+void RemoteAccessible::TableSelectedColumnIndices(
     nsTArray<uint32_t>* aColumnIndices) {
   Unused << mDoc->SendTableSelectedColumnIndices(mID, aColumnIndices);
 }
 
-void ProxyAccessible::TableSelectedRowIndices(nsTArray<uint32_t>* aRowIndices) {
+void RemoteAccessible::TableSelectedRowIndices(
+    nsTArray<uint32_t>* aRowIndices) {
   Unused << mDoc->SendTableSelectedRowIndices(mID, aRowIndices);
 }
 
-void ProxyAccessible::TableSelectColumn(uint32_t aCol) {
+void RemoteAccessible::TableSelectColumn(uint32_t aCol) {
   Unused << mDoc->SendTableSelectColumn(mID, aCol);
 }
 
-void ProxyAccessible::TableSelectRow(uint32_t aRow) {
+void RemoteAccessible::TableSelectRow(uint32_t aRow) {
   Unused << mDoc->SendTableSelectRow(mID, aRow);
 }
 
-void ProxyAccessible::TableUnselectColumn(uint32_t aCol) {
+void RemoteAccessible::TableUnselectColumn(uint32_t aCol) {
   Unused << mDoc->SendTableUnselectColumn(mID, aCol);
 }
 
-void ProxyAccessible::TableUnselectRow(uint32_t aRow) {
+void RemoteAccessible::TableUnselectRow(uint32_t aRow) {
   Unused << mDoc->SendTableUnselectRow(mID, aRow);
 }
 
-bool ProxyAccessible::TableIsProbablyForLayout() {
+bool RemoteAccessible::TableIsProbablyForLayout() {
   bool forLayout = false;
   Unused << mDoc->SendTableIsProbablyForLayout(mID, &forLayout);
   return forLayout;
 }
 
-ProxyAccessible* ProxyAccessible::AtkTableColumnHeader(int32_t aCol) {
+RemoteAccessible* RemoteAccessible::AtkTableColumnHeader(int32_t aCol) {
   uint64_t headerID = 0;
   bool ok = false;
   Unused << mDoc->SendAtkTableColumnHeader(mID, aCol, &headerID, &ok);
   return ok ? mDoc->GetAccessible(headerID) : nullptr;
 }
 
-ProxyAccessible* ProxyAccessible::AtkTableRowHeader(int32_t aRow) {
+RemoteAccessible* RemoteAccessible::AtkTableRowHeader(int32_t aRow) {
   uint64_t headerID = 0;
   bool ok = false;
   Unused << mDoc->SendAtkTableRowHeader(mID, aRow, &headerID, &ok);
   return ok ? mDoc->GetAccessible(headerID) : nullptr;
 }
 
-void ProxyAccessible::SelectedItems(
-    nsTArray<ProxyAccessible*>* aSelectedItems) {
+void RemoteAccessible::SelectedItems(
+    nsTArray<RemoteAccessible*>* aSelectedItems) {
   AutoTArray<uint64_t, 10> itemIDs;
   Unused << mDoc->SendSelectedItems(mID, &itemIDs);
   aSelectedItems->SetCapacity(itemIDs.Length());
   for (size_t i = 0; i < itemIDs.Length(); ++i) {
     aSelectedItems->AppendElement(mDoc->GetAccessible(itemIDs[i]));
   }
 }
 
-uint32_t ProxyAccessible::SelectedItemCount() {
+uint32_t RemoteAccessible::SelectedItemCount() {
   uint32_t count = 0;
   Unused << mDoc->SendSelectedItemCount(mID, &count);
   return count;
 }
 
-ProxyAccessible* ProxyAccessible::GetSelectedItem(uint32_t aIndex) {
+RemoteAccessible* RemoteAccessible::GetSelectedItem(uint32_t aIndex) {
   uint64_t selectedItemID = 0;
   bool ok = false;
   Unused << mDoc->SendGetSelectedItem(mID, aIndex, &selectedItemID, &ok);
   return ok ? mDoc->GetAccessible(selectedItemID) : nullptr;
 }
 
-bool ProxyAccessible::IsItemSelected(uint32_t aIndex) {
+bool RemoteAccessible::IsItemSelected(uint32_t aIndex) {
   bool selected = false;
   Unused << mDoc->SendIsItemSelected(mID, aIndex, &selected);
   return selected;
 }
 
-bool ProxyAccessible::AddItemToSelection(uint32_t aIndex) {
+bool RemoteAccessible::AddItemToSelection(uint32_t aIndex) {
   bool success = false;
   Unused << mDoc->SendAddItemToSelection(mID, aIndex, &success);
   return success;
 }
 
-bool ProxyAccessible::RemoveItemFromSelection(uint32_t aIndex) {
+bool RemoteAccessible::RemoveItemFromSelection(uint32_t aIndex) {
   bool success = false;
   Unused << mDoc->SendRemoveItemFromSelection(mID, aIndex, &success);
   return success;
 }
 
-bool ProxyAccessible::SelectAll() {
+bool RemoteAccessible::SelectAll() {
   bool success = false;
   Unused << mDoc->SendSelectAll(mID, &success);
   return success;
 }
 
-bool ProxyAccessible::UnselectAll() {
+bool RemoteAccessible::UnselectAll() {
   bool success = false;
   Unused << mDoc->SendUnselectAll(mID, &success);
   return success;
 }
 
-void ProxyAccessible::TakeSelection() {
+void RemoteAccessible::TakeSelection() {
   Unused << mDoc->SendTakeSelection(mID);
 }
 
-void ProxyAccessible::SetSelected(bool aSelect) {
+void RemoteAccessible::SetSelected(bool aSelect) {
   Unused << mDoc->SendSetSelected(mID, aSelect);
 }
 
-bool ProxyAccessible::DoAction(uint8_t aIndex) {
+bool RemoteAccessible::DoAction(uint8_t aIndex) {
   bool success = false;
   Unused << mDoc->SendDoAction(mID, aIndex, &success);
   return success;
 }
 
-uint8_t ProxyAccessible::ActionCount() {
+uint8_t RemoteAccessible::ActionCount() {
   uint8_t count = 0;
   Unused << mDoc->SendActionCount(mID, &count);
   return count;
 }
 
-void ProxyAccessible::ActionDescriptionAt(uint8_t aIndex,
-                                          nsString& aDescription) {
+void RemoteAccessible::ActionDescriptionAt(uint8_t aIndex,
+                                           nsString& aDescription) {
   Unused << mDoc->SendActionDescriptionAt(mID, aIndex, &aDescription);
 }
 
-void ProxyAccessible::ActionNameAt(uint8_t aIndex, nsString& aName) {
+void RemoteAccessible::ActionNameAt(uint8_t aIndex, nsString& aName) {
   Unused << mDoc->SendActionNameAt(mID, aIndex, &aName);
 }
 
-KeyBinding ProxyAccessible::AccessKey() {
+KeyBinding RemoteAccessible::AccessKey() {
   uint32_t key = 0;
   uint32_t modifierMask = 0;
   Unused << mDoc->SendAccessKey(mID, &key, &modifierMask);
   return KeyBinding(key, modifierMask);
 }
 
-KeyBinding ProxyAccessible::KeyboardShortcut() {
+KeyBinding RemoteAccessible::KeyboardShortcut() {
   uint32_t key = 0;
   uint32_t modifierMask = 0;
   Unused << mDoc->SendKeyboardShortcut(mID, &key, &modifierMask);
   return KeyBinding(key, modifierMask);
 }
 
-void ProxyAccessible::AtkKeyBinding(nsString& aBinding) {
+void RemoteAccessible::AtkKeyBinding(nsString& aBinding) {
   Unused << mDoc->SendAtkKeyBinding(mID, &aBinding);
 }
 
-double ProxyAccessible::CurValue() {
+double RemoteAccessible::CurValue() {
   double val = UnspecifiedNaN<double>();
   Unused << mDoc->SendCurValue(mID, &val);
   return val;
 }
 
-bool ProxyAccessible::SetCurValue(double aValue) {
+bool RemoteAccessible::SetCurValue(double aValue) {
   bool success = false;
   Unused << mDoc->SendSetCurValue(mID, aValue, &success);
   return success;
 }
 
-double ProxyAccessible::MinValue() {
+double RemoteAccessible::MinValue() {
   double val = UnspecifiedNaN<double>();
   Unused << mDoc->SendMinValue(mID, &val);
   return val;
 }
 
-double ProxyAccessible::MaxValue() {
+double RemoteAccessible::MaxValue() {
   double val = UnspecifiedNaN<double>();
   Unused << mDoc->SendMaxValue(mID, &val);
   return val;
 }
 
-double ProxyAccessible::Step() {
+double RemoteAccessible::Step() {
   double step = UnspecifiedNaN<double>();
   Unused << mDoc->SendStep(mID, &step);
   return step;
 }
 
-void ProxyAccessible::TakeFocus() { Unused << mDoc->SendTakeFocus(mID); }
+void RemoteAccessible::TakeFocus() { Unused << mDoc->SendTakeFocus(mID); }
 
-ProxyAccessible* ProxyAccessible::FocusedChild() {
+RemoteAccessible* RemoteAccessible::FocusedChild() {
   if (mOuterDoc) {
     // If FocusedChild was called on an outer doc, it should behave
     // like a non-doc accessible and return its focused child, or null.
     // If the inner doc is OOP (fission), calling FocusedChild on the outer
     // doc would return null.
     MOZ_ASSERT(ChildrenCount() == 1);
-    ProxyAccessible* child = RemoteFirstChild();
+    RemoteAccessible* child = RemoteFirstChild();
     MOZ_ASSERT(child->IsDoc());
     return (child->State() & states::FOCUSED) ? child : nullptr;
   }
 
   auto* doc = mDoc;
   uint64_t id = mID;
   if (IsDoc()) {
     // If this is a doc we should return the focused descendant, not just the
@@ -797,19 +803,19 @@ ProxyAccessible* ProxyAccessible::Focuse
   uint64_t resultID = 0;
   Unused << doc->SendFocusedChild(id, &resultDoc, &resultID);
 
   auto* useDoc = static_cast<DocAccessibleParent*>(resultDoc);
   // If useDoc is null, this means there is no focused child.
   return useDoc ? useDoc->GetAccessible(resultID) : nullptr;
 }
 
-ProxyAccessible* ProxyAccessible::ChildAtPoint(
+RemoteAccessible* RemoteAccessible::ChildAtPoint(
     int32_t aX, int32_t aY, LocalAccessible::EWhichChildAtPoint aWhichChild) {
-  ProxyAccessible* target = this;
+  RemoteAccessible* target = this;
   do {
     if (target->mOuterDoc) {
       MOZ_ASSERT(target->ChildrenCount() == 1);
       DocAccessibleParent* childDoc = target->RemoteChildAt(0)->AsDoc();
       MOZ_ASSERT(childDoc);
       if (childDoc->IsTopLevelInContentProcess()) {
         // This is an OOP iframe. Remote calls can only work within their
         // process, so they stop at OOP iframes.
@@ -833,58 +839,58 @@ ProxyAccessible* ProxyAccessible::ChildA
     // If resultDoc is null, this means there is no child at this point.
     auto useDoc = static_cast<DocAccessibleParent*>(resultDoc);
     target = resultDoc ? useDoc->GetAccessible(resultID) : nullptr;
   } while (target && target->mOuterDoc &&
            aWhichChild == LocalAccessible::eDeepestChild);
   return target;
 }
 
-nsIntRect ProxyAccessible::Bounds() {
+nsIntRect RemoteAccessible::Bounds() {
   nsIntRect rect;
   Unused << mDoc->SendExtents(mID, false, &(rect.x), &(rect.y), &(rect.width),
                               &(rect.height));
   return rect;
 }
 
-nsIntRect ProxyAccessible::BoundsInCSSPixels() {
+nsIntRect RemoteAccessible::BoundsInCSSPixels() {
   nsIntRect rect;
   Unused << mDoc->SendExtentsInCSSPixels(mID, &rect.x, &rect.y, &rect.width,
                                          &rect.height);
   return rect;
 }
 
-void ProxyAccessible::Language(nsString& aLocale) {
+void RemoteAccessible::Language(nsString& aLocale) {
   Unused << mDoc->SendLanguage(mID, &aLocale);
 }
 
-void ProxyAccessible::DocType(nsString& aType) {
+void RemoteAccessible::DocType(nsString& aType) {
   Unused << mDoc->SendDocType(mID, &aType);
 }
 
-void ProxyAccessible::Title(nsString& aTitle) {
+void RemoteAccessible::Title(nsString& aTitle) {
   Unused << mDoc->SendTitle(mID, &aTitle);
 }
 
-void ProxyAccessible::URL(nsString& aURL) {
+void RemoteAccessible::URL(nsString& aURL) {
   Unused << mDoc->SendURL(mID, &aURL);
 }
 
-void ProxyAccessible::MimeType(nsString aMime) {
+void RemoteAccessible::MimeType(nsString aMime) {
   Unused << mDoc->SendMimeType(mID, &aMime);
 }
 
-void ProxyAccessible::URLDocTypeMimeType(nsString& aURL, nsString& aDocType,
-                                         nsString& aMimeType) {
+void RemoteAccessible::URLDocTypeMimeType(nsString& aURL, nsString& aDocType,
+                                          nsString& aMimeType) {
   Unused << mDoc->SendURLDocTypeMimeType(mID, &aURL, &aDocType, &aMimeType);
 }
 
-void ProxyAccessible::Extents(bool aNeedsScreenCoords, int32_t* aX, int32_t* aY,
-                              int32_t* aWidth, int32_t* aHeight) {
+void RemoteAccessible::Extents(bool aNeedsScreenCoords, int32_t* aX,
+                               int32_t* aY, int32_t* aWidth, int32_t* aHeight) {
   Unused << mDoc->SendExtents(mID, aNeedsScreenCoords, aX, aY, aWidth, aHeight);
 }
 
-void ProxyAccessible::DOMNodeID(nsString& aID) {
+void RemoteAccessible::DOMNodeID(nsString& aID) {
   Unused << mDoc->SendDOMNodeID(mID, &aID);
 }
 
 }  // namespace a11y
 }  // namespace mozilla
new file mode 100644
--- /dev/null
+++ b/accessible/ipc/other/RemoteAccessible.h
@@ -0,0 +1,46 @@
+/* -*- 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/. */
+
+#ifndef mozilla_a11y_RemoteAccessible_h
+#define mozilla_a11y_RemoteAccessible_h
+
+#include "LocalAccessible.h"
+#include "mozilla/a11y/RemoteAccessibleBase.h"
+#include "mozilla/a11y/Role.h"
+#include "nsIAccessibleText.h"
+#include "nsIAccessibleTypes.h"
+#include "nsString.h"
+#include "nsTArray.h"
+#include "nsRect.h"
+
+namespace mozilla {
+namespace a11y {
+
+class RemoteAccessible : public RemoteAccessibleBase<RemoteAccessible> {
+ public:
+  RemoteAccessible(uint64_t aID, RemoteAccessible* aParent,
+                   DocAccessibleParent* aDoc, role aRole, uint32_t aInterfaces)
+      : RemoteAccessibleBase(aID, aParent, aDoc, aRole, aInterfaces)
+
+  {
+    MOZ_COUNT_CTOR(RemoteAccessible);
+  }
+
+  MOZ_COUNTED_DTOR(RemoteAccessible)
+
+#include "mozilla/a11y/RemoteAccessibleShared.h"
+
+ protected:
+  explicit RemoteAccessible(DocAccessibleParent* aThisAsDoc)
+      : RemoteAccessibleBase(aThisAsDoc) {
+    MOZ_COUNT_CTOR(RemoteAccessible);
+  }
+};
+
+}  // namespace a11y
+}  // namespace mozilla
+
+#endif
--- a/accessible/ipc/other/moz.build
+++ b/accessible/ipc/other/moz.build
@@ -8,22 +8,22 @@
 if CONFIG["ACCESSIBILITY"]:
     IPDL_SOURCES += [
         "DocAccessibleTypes.ipdlh",
         "PDocAccessible.ipdl",
     ]
 
     EXPORTS.mozilla.a11y += [
         "DocAccessibleChild.h",
-        "ProxyAccessible.h",
+        "RemoteAccessible.h",
     ]
 
     SOURCES += [
         "DocAccessibleChild.cpp",
-        "ProxyAccessible.cpp",
+        "RemoteAccessible.cpp",
     ]
 
     LOCAL_INCLUDES += [
         "../../base",
         "../../generic",
         "../../xpcom",
     ]
 
rename from accessible/ipc/win/ProxyAccessible.cpp
rename to accessible/ipc/win/RemoteAccessible.cpp
--- a/accessible/ipc/win/ProxyAccessible.cpp
+++ b/accessible/ipc/win/RemoteAccessible.cpp
@@ -1,16 +1,16 @@
 /* -*- 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 "Accessible2.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "ia2AccessibleRelation.h"
 #include "ia2AccessibleValue.h"
 #include "IGeckoCustom.h"
 #include "mozilla/a11y/DocAccessibleParent.h"
 #include "DocAccessible.h"
 #include "mozilla/a11y/DocManager.h"
 #include "mozilla/dom/Element.h"
 #include "mozilla/dom/BrowserParent.h"
@@ -21,26 +21,26 @@
 
 #include <comutil.h>
 
 static const VARIANT kChildIdSelf = {{{VT_I4}}};
 
 namespace mozilla {
 namespace a11y {
 
-bool ProxyAccessible::GetCOMInterface(void** aOutAccessible) const {
+bool RemoteAccessible::GetCOMInterface(void** aOutAccessible) const {
   if (!aOutAccessible) {
     return false;
   }
 
   if (!mCOMProxy && mSafeToRecurse) {
     // See if we can lazily obtain a COM proxy
     AccessibleWrap* wrap = WrapperFor(this);
     bool isDefunct = false;
-    ProxyAccessible* thisPtr = const_cast<ProxyAccessible*>(this);
+    RemoteAccessible* thisPtr = const_cast<RemoteAccessible*>(this);
     // NB: Don't pass CHILDID_SELF here, use the absolute MSAA ID. Otherwise
     // GetIAccessibleFor will recurse into this function and we will just
     // overflow the stack.
     VARIANT realId = {{{VT_I4}}};
     realId.ulVal = wrap->GetExistingID();
     MOZ_DIAGNOSTIC_ASSERT(realId.ulVal != CHILDID_SELF);
     thisPtr->mCOMProxy = wrap->GetIAccessibleFor(realId, &isDefunct);
   }
@@ -82,48 +82,48 @@ struct InterfaceIID<IAccessible2_2> {
 };
 
 /**
  * Get the COM proxy for this proxy accessible and QueryInterface it with the
  * correct IID
  */
 template <typename Interface>
 static already_AddRefed<Interface> QueryInterface(
-    const ProxyAccessible* aProxy) {
+    const RemoteAccessible* aProxy) {
   RefPtr<IAccessible> acc;
   if (!aProxy->GetCOMInterface((void**)getter_AddRefs(acc))) {
     return nullptr;
   }
 
   RefPtr<Interface> acc2;
   if (FAILED(acc->QueryInterface(InterfaceIID<Interface>::Value(),
                                  (void**)getter_AddRefs(acc2)))) {
     return nullptr;
   }
 
   return acc2.forget();
 }
 
-static ProxyAccessible* GetProxyFor(DocAccessibleParent* aDoc,
-                                    IUnknown* aCOMProxy) {
+static RemoteAccessible* GetProxyFor(DocAccessibleParent* aDoc,
+                                     IUnknown* aCOMProxy) {
   RefPtr<IGeckoCustom> custom;
   if (FAILED(aCOMProxy->QueryInterface(IID_IGeckoCustom,
                                        (void**)getter_AddRefs(custom)))) {
     return nullptr;
   }
 
   uint64_t id;
   if (FAILED(custom->get_ID(&id))) {
     return nullptr;
   }
 
   return aDoc->GetAccessible(id);
 }
 
-uint32_t ProxyAccessible::Name(nsString& aName) const {
+uint32_t RemoteAccessible::Name(nsString& aName) const {
   /* The return values here exist only to match behvaiour required
    * by the header declaration of this function. On Mac, we'd like
    * to return the associated ENameValueFlag, but we don't have
    * access to that here, so we return a dummy eNameOK value instead.
    */
   aName.Truncate();
   RefPtr<IAccessible> acc;
   if (!GetCOMInterface((void**)getter_AddRefs(acc))) {
@@ -135,78 +135,78 @@ uint32_t ProxyAccessible::Name(nsString&
   _bstr_t resultWrap(result, false);
   if (FAILED(hr)) {
     return eNameOK;
   }
   aName = (wchar_t*)resultWrap;
   return eNameOK;
 }
 
-void ProxyAccessible::Value(nsString& aValue) const {
+void RemoteAccessible::Value(nsString& aValue) const {
   aValue.Truncate();
   RefPtr<IAccessible> acc;
   if (!GetCOMInterface((void**)getter_AddRefs(acc))) {
     return;
   }
 
   BSTR result;
   HRESULT hr = acc->get_accValue(kChildIdSelf, &result);
   _bstr_t resultWrap(result, false);
   if (FAILED(hr)) {
     return;
   }
   aValue = (wchar_t*)resultWrap;
 }
 
-double ProxyAccessible::Step() {
+double RemoteAccessible::Step() {
   RefPtr<IGeckoCustom> custom = QueryInterface<IGeckoCustom>(this);
   if (!custom) {
     return 0;
   }
 
   double increment;
   HRESULT hr = custom->get_minimumIncrement(&increment);
   if (FAILED(hr)) {
     return 0;
   }
 
   return increment;
 }
 
-void ProxyAccessible::Description(nsString& aDesc) const {
+void RemoteAccessible::Description(nsString& aDesc) const {
   aDesc.Truncate();
   RefPtr<IAccessible> acc;
   if (!GetCOMInterface((void**)getter_AddRefs(acc))) {
     return;
   }
 
   BSTR result;
   HRESULT hr = acc->get_accDescription(kChildIdSelf, &result);
   _bstr_t resultWrap(result, false);
   if (FAILED(hr)) {
     return;
   }
   aDesc = (wchar_t*)resultWrap;
 }
 
-uint64_t ProxyAccessible::State() const {
+uint64_t RemoteAccessible::State() const {
   RefPtr<IGeckoCustom> custom = QueryInterface<IGeckoCustom>(this);
   if (!custom) {
     return 0;
   }
 
   uint64_t state;
   HRESULT hr = custom->get_mozState(&state);
   if (FAILED(hr)) {
     return 0;
   }
   return state;
 }
 
-nsIntRect ProxyAccessible::Bounds() {
+nsIntRect RemoteAccessible::Bounds() {
   nsIntRect rect;
 
   RefPtr<IAccessible> acc;
   if (!GetCOMInterface((void**)getter_AddRefs(acc))) {
     return rect;
   }
 
   long left;
@@ -216,29 +216,29 @@ nsIntRect ProxyAccessible::Bounds() {
   HRESULT hr = acc->accLocation(&left, &top, &width, &height, kChildIdSelf);
   if (FAILED(hr)) {
     return rect;
   }
   rect.SetRect(left, top, width, height);
   return rect;
 }
 
-nsIntRect ProxyAccessible::BoundsInCSSPixels() {
+nsIntRect RemoteAccessible::BoundsInCSSPixels() {
   RefPtr<IGeckoCustom> custom = QueryInterface<IGeckoCustom>(this);
   if (!custom) {
     return nsIntRect();
   }
 
   nsIntRect rect;
   Unused << custom->get_boundsInCSSPixels(&rect.x, &rect.y, &rect.width,
                                           &rect.height);
   return rect;
 }
 
-void ProxyAccessible::Language(nsString& aLocale) {
+void RemoteAccessible::Language(nsString& aLocale) {
   aLocale.Truncate();
 
   RefPtr<IAccessible> acc;
   if (!GetCOMInterface((void**)getter_AddRefs(acc))) {
     return;
   }
 
   RefPtr<IAccessible2> acc2;
@@ -324,17 +324,17 @@ static bool ConvertBSTRAttributesToArray
         break;
     }
     tokens[state] += *itr;
     ++itr;
   }
   return true;
 }
 
-void ProxyAccessible::Attributes(nsTArray<Attribute>* aAttrs) const {
+void RemoteAccessible::Attributes(nsTArray<Attribute>* aAttrs) const {
   aAttrs->Clear();
 
   RefPtr<IAccessible> acc;
   if (!GetCOMInterface((void**)getter_AddRefs(acc))) {
     return;
   }
 
   RefPtr<IAccessible2> acc2;
@@ -349,99 +349,99 @@ void ProxyAccessible::Attributes(nsTArra
   if (FAILED(hr)) {
     return;
   }
 
   ConvertBSTRAttributesToArray(
       nsDependentString((wchar_t*)attrs, attrsWrap.length()), aAttrs);
 }
 
-nsTArray<ProxyAccessible*> ProxyAccessible::RelationByType(
+nsTArray<RemoteAccessible*> RemoteAccessible::RelationByType(
     RelationType aType) const {
   RefPtr<IAccessible2_2> acc = QueryInterface<IAccessible2_2>(this);
   if (!acc) {
-    return nsTArray<ProxyAccessible*>();
+    return nsTArray<RemoteAccessible*>();
   }
 
   _bstr_t relationType;
   for (uint32_t idx = 0; idx < ArrayLength(sRelationTypePairs); idx++) {
     if (aType == sRelationTypePairs[idx].first) {
       relationType = sRelationTypePairs[idx].second;
       break;
     }
   }
 
   if (!relationType) {
-    return nsTArray<ProxyAccessible*>();
+    return nsTArray<RemoteAccessible*>();
   }
 
   IUnknown** targets;
   long nTargets = 0;
   HRESULT hr =
       acc->get_relationTargetsOfType(relationType, 0, &targets, &nTargets);
   if (FAILED(hr)) {
-    return nsTArray<ProxyAccessible*>();
+    return nsTArray<RemoteAccessible*>();
   }
 
-  nsTArray<ProxyAccessible*> proxies;
+  nsTArray<RemoteAccessible*> proxies;
   for (long idx = 0; idx < nTargets; idx++) {
     IUnknown* target = targets[idx];
     proxies.AppendElement(GetProxyFor(Document(), target));
     target->Release();
   }
   CoTaskMemFree(targets);
 
   return proxies;
 }
 
-double ProxyAccessible::CurValue() {
+double RemoteAccessible::CurValue() {
   RefPtr<IAccessibleValue> acc = QueryInterface<IAccessibleValue>(this);
   if (!acc) {
     return UnspecifiedNaN<double>();
   }
 
   VARIANT currentValue;
   HRESULT hr = acc->get_currentValue(&currentValue);
   if (FAILED(hr) || currentValue.vt != VT_R8) {
     return UnspecifiedNaN<double>();
   }
 
   return currentValue.dblVal;
 }
 
-bool ProxyAccessible::SetCurValue(double aValue) {
+bool RemoteAccessible::SetCurValue(double aValue) {
   RefPtr<IAccessibleValue> acc = QueryInterface<IAccessibleValue>(this);
   if (!acc) {
     return false;
   }
 
   VARIANT currentValue;
   VariantInit(&currentValue);
   currentValue.vt = VT_R8;
   currentValue.dblVal = aValue;
   HRESULT hr = acc->setCurrentValue(currentValue);
   return SUCCEEDED(hr);
 }
 
-double ProxyAccessible::MinValue() {
+double RemoteAccessible::MinValue() {
   RefPtr<IAccessibleValue> acc = QueryInterface<IAccessibleValue>(this);
   if (!acc) {
     return UnspecifiedNaN<double>();
   }
 
   VARIANT minimumValue;
   HRESULT hr = acc->get_minimumValue(&minimumValue);
   if (FAILED(hr) || minimumValue.vt != VT_R8) {
     return UnspecifiedNaN<double>();
   }
 
   return minimumValue.dblVal;
 }
 
-double ProxyAccessible::MaxValue() {
+double RemoteAccessible::MaxValue() {
   RefPtr<IAccessibleValue> acc = QueryInterface<IAccessibleValue>(this);
   if (!acc) {
     return UnspecifiedNaN<double>();
   }
 
   VARIANT maximumValue;
   HRESULT hr = acc->get_maximumValue(&maximumValue);
   if (FAILED(hr) || maximumValue.vt != VT_R8) {
@@ -462,18 +462,18 @@ static IA2TextBoundaryType GetIA2TextBou
       return IA2_TEXT_BOUNDARY_LINE;
     case nsIAccessibleText::BOUNDARY_PARAGRAPH:
       return IA2_TEXT_BOUNDARY_PARAGRAPH;
     default:
       MOZ_CRASH();
   }
 }
 
-int32_t ProxyAccessible::OffsetAtPoint(int32_t aX, int32_t aY,
-                                       uint32_t aCoordinateType) {
+int32_t RemoteAccessible::OffsetAtPoint(int32_t aX, int32_t aY,
+                                        uint32_t aCoordinateType) {
   RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this);
   if (!acc) {
     return -1;
   }
 
   IA2CoordinateType coordType;
   if (aCoordinateType ==
       nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE) {
@@ -490,18 +490,18 @@ int32_t ProxyAccessible::OffsetAtPoint(i
       static_cast<long>(aX), static_cast<long>(aY), coordType, &offset);
   if (FAILED(hr)) {
     return -1;
   }
 
   return static_cast<int32_t>(offset);
 }
 
-bool ProxyAccessible::TextSubstring(int32_t aStartOffset, int32_t aEndOffset,
-                                    nsString& aText) const {
+bool RemoteAccessible::TextSubstring(int32_t aStartOffset, int32_t aEndOffset,
+                                     nsString& aText) const {
   RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this);
   if (!acc) {
     return false;
   }
 
   BSTR result;
   HRESULT hr = acc->get_text(static_cast<long>(aStartOffset),
                              static_cast<long>(aEndOffset), &result);
@@ -510,21 +510,21 @@ bool ProxyAccessible::TextSubstring(int3
   }
 
   _bstr_t resultWrap(result, false);
   aText = (wchar_t*)result;
 
   return true;
 }
 
-void ProxyAccessible::GetTextBeforeOffset(int32_t aOffset,
-                                          AccessibleTextBoundary aBoundaryType,
-                                          nsString& aText,
-                                          int32_t* aStartOffset,
-                                          int32_t* aEndOffset) {
+void RemoteAccessible::GetTextBeforeOffset(int32_t aOffset,
+                                           AccessibleTextBoundary aBoundaryType,
+                                           nsString& aText,
+                                           int32_t* aStartOffset,
+                                           int32_t* aEndOffset) {
   RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this);
   if (!acc) {
     return;
   }
 
   BSTR result;
   long start, end;
   HRESULT hr = acc->get_textBeforeOffset(
@@ -534,20 +534,21 @@ void ProxyAccessible::GetTextBeforeOffse
   }
 
   _bstr_t resultWrap(result, false);
   *aStartOffset = start;
   *aEndOffset = end;
   aText = (wchar_t*)result;
 }
 
-void ProxyAccessible::GetTextAfterOffset(int32_t aOffset,
-                                         AccessibleTextBoundary aBoundaryType,
-                                         nsString& aText, int32_t* aStartOffset,
-                                         int32_t* aEndOffset) {
+void RemoteAccessible::GetTextAfterOffset(int32_t aOffset,
+                                          AccessibleTextBoundary aBoundaryType,
+                                          nsString& aText,
+                                          int32_t* aStartOffset,
+                                          int32_t* aEndOffset) {
   RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this);
   if (!acc) {
     return;
   }
 
   BSTR result;
   long start, end;
   HRESULT hr = acc->get_textAfterOffset(
@@ -557,20 +558,20 @@ void ProxyAccessible::GetTextAfterOffset
   }
 
   _bstr_t resultWrap(result, false);
   aText = (wchar_t*)result;
   *aStartOffset = start;
   *aEndOffset = end;
 }
 
-void ProxyAccessible::GetTextAtOffset(int32_t aOffset,
-                                      AccessibleTextBoundary aBoundaryType,
-                                      nsString& aText, int32_t* aStartOffset,
-                                      int32_t* aEndOffset) {
+void RemoteAccessible::GetTextAtOffset(int32_t aOffset,
+                                       AccessibleTextBoundary aBoundaryType,
+                                       nsString& aText, int32_t* aStartOffset,
+                                       int32_t* aEndOffset) {
   RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this);
   if (!acc) {
     return;
   }
 
   BSTR result;
   long start, end;
   HRESULT hr = acc->get_textAtOffset(aOffset, GetIA2TextBoundary(aBoundaryType),
@@ -580,82 +581,83 @@ void ProxyAccessible::GetTextAtOffset(in
   }
 
   _bstr_t resultWrap(result, false);
   aText = (wchar_t*)result;
   *aStartOffset = start;
   *aEndOffset = end;
 }
 
-bool ProxyAccessible::AddToSelection(int32_t aStartOffset, int32_t aEndOffset) {
+bool RemoteAccessible::AddToSelection(int32_t aStartOffset,
+                                      int32_t aEndOffset) {
   RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this);
   if (!acc) {
     return false;
   }
 
   return SUCCEEDED(acc->addSelection(static_cast<long>(aStartOffset),
                                      static_cast<long>(aEndOffset)));
 }
 
-bool ProxyAccessible::RemoveFromSelection(int32_t aSelectionNum) {
+bool RemoteAccessible::RemoveFromSelection(int32_t aSelectionNum) {
   RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this);
   if (!acc) {
     return false;
   }
 
   return SUCCEEDED(acc->removeSelection(static_cast<long>(aSelectionNum)));
 }
 
-int32_t ProxyAccessible::CaretOffset() {
+int32_t RemoteAccessible::CaretOffset() {
   RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this);
   if (!acc) {
     return -1;
   }
 
   long offset;
   HRESULT hr = acc->get_caretOffset(&offset);
   if (FAILED(hr)) {
     return -1;
   }
 
   return static_cast<int32_t>(offset);
 }
 
-void ProxyAccessible::SetCaretOffset(int32_t aOffset) {
+void RemoteAccessible::SetCaretOffset(int32_t aOffset) {
   RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this);
   if (!acc) {
     return;
   }
 
   acc->setCaretOffset(static_cast<long>(aOffset));
 }
 
 /**
  * aScrollType should be one of the nsIAccessiblescrollType constants.
  */
-void ProxyAccessible::ScrollSubstringTo(int32_t aStartOffset,
-                                        int32_t aEndOffset,
-                                        uint32_t aScrollType) {
+void RemoteAccessible::ScrollSubstringTo(int32_t aStartOffset,
+                                         int32_t aEndOffset,
+                                         uint32_t aScrollType) {
   RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this);
   if (!acc) {
     return;
   }
 
   acc->scrollSubstringTo(static_cast<long>(aStartOffset),
                          static_cast<long>(aEndOffset),
                          static_cast<IA2ScrollType>(aScrollType));
 }
 
 /**
  * aCoordinateType is one of the nsIAccessibleCoordinateType constants.
  */
-void ProxyAccessible::ScrollSubstringToPoint(int32_t aStartOffset,
-                                             int32_t aEndOffset,
-                                             uint32_t aCoordinateType,
-                                             int32_t aX, int32_t aY) {
+void RemoteAccessible::ScrollSubstringToPoint(int32_t aStartOffset,
+                                              int32_t aEndOffset,
+                                              uint32_t aCoordinateType,
+                                              int32_t aX, int32_t aY) {
   RefPtr<IAccessibleText> acc = QueryInterface<IAccessibleText>(this);
   if (!acc) {
     return;
   }
 
   IA2CoordinateType coordType;
   if (aCoordinateType ==
       nsIAccessibleCoordinateType::COORDTYPE_SCREEN_RELATIVE) {
@@ -667,120 +669,120 @@ void ProxyAccessible::ScrollSubstringToP
     MOZ_CRASH("unsupported coord type");
   }
 
   acc->scrollSubstringToPoint(static_cast<long>(aStartOffset),
                               static_cast<long>(aEndOffset), coordType,
                               static_cast<long>(aX), static_cast<long>(aY));
 }
 
-uint32_t ProxyAccessible::StartOffset(bool* aOk) {
+uint32_t RemoteAccessible::StartOffset(bool* aOk) {
   RefPtr<IAccessibleHyperlink> acc = QueryInterface<IAccessibleHyperlink>(this);
   if (!acc) {
     *aOk = false;
     return 0;
   }
 
   long startOffset;
   *aOk = SUCCEEDED(acc->get_startIndex(&startOffset));
   return static_cast<uint32_t>(startOffset);
 }
 
-uint32_t ProxyAccessible::EndOffset(bool* aOk) {
+uint32_t RemoteAccessible::EndOffset(bool* aOk) {
   RefPtr<IAccessibleHyperlink> acc = QueryInterface<IAccessibleHyperlink>(this);
   if (!acc) {
     *aOk = false;
     return 0;
   }
 
   long endOffset;
   *aOk = SUCCEEDED(acc->get_endIndex(&endOffset));
   return static_cast<uint32_t>(endOffset);
 }
 
-bool ProxyAccessible::IsLinkValid() {
+bool RemoteAccessible::IsLinkValid() {
   RefPtr<IAccessibleHyperlink> acc = QueryInterface<IAccessibleHyperlink>(this);
   if (!acc) {
     return false;
   }
 
   boolean valid;
   if (FAILED(acc->get_valid(&valid))) {
     return false;
   }
 
   return valid;
 }
 
-uint32_t ProxyAccessible::AnchorCount(bool* aOk) {
+uint32_t RemoteAccessible::AnchorCount(bool* aOk) {
   *aOk = false;
   RefPtr<IGeckoCustom> custom = QueryInterface<IGeckoCustom>(this);
   if (!custom) {
     return 0;
   }
 
   long count;
   if (FAILED(custom->get_anchorCount(&count))) {
     return 0;
   }
 
   *aOk = true;
   return count;
 }
 
-ProxyAccessible* ProxyAccessible::AnchorAt(uint32_t aIdx) {
+RemoteAccessible* RemoteAccessible::AnchorAt(uint32_t aIdx) {
   RefPtr<IAccessibleHyperlink> link =
       QueryInterface<IAccessibleHyperlink>(this);
   if (!link) {
     return nullptr;
   }
 
   VARIANT anchor;
   if (FAILED(link->get_anchor(aIdx, &anchor))) {
     return nullptr;
   }
 
   MOZ_ASSERT(anchor.vt == VT_UNKNOWN);
-  ProxyAccessible* proxyAnchor = GetProxyFor(Document(), anchor.punkVal);
+  RemoteAccessible* proxyAnchor = GetProxyFor(Document(), anchor.punkVal);
   anchor.punkVal->Release();
   return proxyAnchor;
 }
 
-void ProxyAccessible::DOMNodeID(nsString& aID) {
+void RemoteAccessible::DOMNodeID(nsString& aID) {
   aID.Truncate();
   RefPtr<IGeckoCustom> custom = QueryInterface<IGeckoCustom>(this);
   if (!custom) {
     return;
   }
 
   BSTR result;
   HRESULT hr = custom->get_DOMNodeID(&result);
   _bstr_t resultWrap(result, false);
   if (FAILED(hr)) {
     return;
   }
   aID = (wchar_t*)resultWrap;
 }
 
-void ProxyAccessible::TakeFocus() {
+void RemoteAccessible::TakeFocus() {
   RefPtr<IAccessible> acc;
   if (!GetCOMInterface((void**)getter_AddRefs(acc))) {
     return;
   }
   acc->accSelect(SELFLAG_TAKEFOCUS, kChildIdSelf);
 }
 
-ProxyAccessible* ProxyAccessible::ChildAtPoint(
+RemoteAccessible* RemoteAccessible::ChildAtPoint(
     int32_t aX, int32_t aY, LocalAccessible::EWhichChildAtPoint aWhichChild) {
   RefPtr<IAccessible2_2> target = QueryInterface<IAccessible2_2>(this);
   if (!target) {
     return nullptr;
   }
   DocAccessibleParent* doc = Document();
-  ProxyAccessible* proxy = this;
+  RemoteAccessible* proxy = this;
   // accHitTest only does direct children, but we might want the deepest child.
   for (;;) {
     VARIANT childVar;
     if (FAILED(target->accHitTest(aX, aY, &childVar)) ||
         childVar.vt == VT_EMPTY) {
       return nullptr;
     }
     if (childVar.vt == VT_I4 && childVar.lVal == CHILDID_SELF) {
rename from accessible/ipc/win/ProxyAccessible.h
rename to accessible/ipc/win/RemoteAccessible.h
--- a/accessible/ipc/win/ProxyAccessible.h
+++ b/accessible/ipc/win/RemoteAccessible.h
@@ -1,58 +1,58 @@
 /* -*- 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/. */
 
-#ifndef mozilla_a11y_ProxyAccessible_h
-#define mozilla_a11y_ProxyAccessible_h
+#ifndef mozilla_a11y_RemoteAccessible_h
+#define mozilla_a11y_RemoteAccessible_h
 
 #include "LocalAccessible.h"
-#include "mozilla/a11y/ProxyAccessibleBase.h"
+#include "mozilla/a11y/RemoteAccessibleBase.h"
 #include "mozilla/a11y/Role.h"
 #include "nsString.h"
 #include "nsTArray.h"
 #include "nsRect.h"
 
 #include <oleacc.h>
 
 namespace mozilla {
 namespace a11y {
 
-class ProxyAccessible : public ProxyAccessibleBase<ProxyAccessible> {
+class RemoteAccessible : public RemoteAccessibleBase<RemoteAccessible> {
  public:
-  ProxyAccessible(uint64_t aID, ProxyAccessible* aParent,
-                  DocAccessibleParent* aDoc, role aRole, uint32_t aInterfaces)
-      : ProxyAccessibleBase(aID, aParent, aDoc, aRole, aInterfaces),
+  RemoteAccessible(uint64_t aID, RemoteAccessible* aParent,
+                   DocAccessibleParent* aDoc, role aRole, uint32_t aInterfaces)
+      : RemoteAccessibleBase(aID, aParent, aDoc, aRole, aInterfaces),
         mSafeToRecurse(true) {
-    MOZ_COUNT_CTOR(ProxyAccessible);
+    MOZ_COUNT_CTOR(RemoteAccessible);
   }
 
-  MOZ_COUNTED_DTOR(ProxyAccessible)
+  MOZ_COUNTED_DTOR(RemoteAccessible)
 
-#include "mozilla/a11y/ProxyAccessibleShared.h"
+#include "mozilla/a11y/RemoteAccessibleShared.h"
 
   bool GetCOMInterface(void** aOutAccessible) const;
   void SetCOMInterface(const RefPtr<IAccessible>& aIAccessible) {
     if (aIAccessible) {
       mCOMProxy = aIAccessible;
     } else {
       // If we were supposed to be receiving an interface (hence the call to
       // this function), but the interface turns out to be null, then we're
       // broken for some reason.
       mSafeToRecurse = false;
     }
   }
 
  protected:
-  explicit ProxyAccessible(DocAccessibleParent* aThisAsDoc)
-      : ProxyAccessibleBase(aThisAsDoc) {
-    MOZ_COUNT_CTOR(ProxyAccessible);
+  explicit RemoteAccessible(DocAccessibleParent* aThisAsDoc)
+      : RemoteAccessibleBase(aThisAsDoc) {
+    MOZ_COUNT_CTOR(RemoteAccessible);
   }
 
  private:
   RefPtr<IAccessible> mCOMProxy;
   bool mSafeToRecurse;
 };
 
 }  // namespace a11y
--- a/accessible/ipc/win/moz.build
+++ b/accessible/ipc/win/moz.build
@@ -22,26 +22,26 @@ if CONFIG["ACCESSIBILITY"]:
         "IAccessible64.manifest",
     ]
 
     EXPORTS.mozilla.a11y += [
         "COMPtrTypes.h",
         "DocAccessibleChild.h",
         "HandlerProvider.h",
         "PlatformChild.h",
-        "ProxyAccessible.h",
+        "RemoteAccessible.h",
     ]
 
     SOURCES += [
         "!./handler/HandlerData_c.c",
         "COMPtrTypes.cpp",
         "DocAccessibleChild.cpp",
         "HandlerProvider.cpp",
         "PlatformChild.cpp",
-        "ProxyAccessible.cpp",
+        "RemoteAccessible.cpp",
     ]
 
     # Give some symbols a unique name in each translation unit, to avoid
     # collisions caused by https://llvm.org/pr41817.
     if CONFIG["CC_TYPE"] == "clang-cl":
         SOURCES["!./handler/HandlerData_c.c"].flags += [
             "-DUserMarshalRoutines=UserMarshalRoutines__HandlerData_c"
         ]
--- a/accessible/mac/GeckoTextMarker.mm
+++ b/accessible/mac/GeckoTextMarker.mm
@@ -103,17 +103,17 @@ GeckoTextMarker::GeckoTextMarker(Accessi
 GeckoTextMarker GeckoTextMarker::MarkerFromIndex(const AccessibleOrProxy& aRoot,
                                                  int32_t aIndex) {
   if (aRoot.IsProxy()) {
     int32_t offset = 0;
     uint64_t containerID = 0;
     DocAccessibleParent* ipcDoc = aRoot.AsProxy()->Document();
     Unused << ipcDoc->GetPlatformExtension()->SendOffsetAtIndex(
         aRoot.AsProxy()->ID(), aIndex, &containerID, &offset);
-    ProxyAccessible* container = ipcDoc->GetAccessible(containerID);
+    RemoteAccessible* container = ipcDoc->GetAccessible(containerID);
     return GeckoTextMarker(container, offset);
   } else if (auto htWrap = static_cast<HyperTextAccessibleWrap*>(
                  aRoot.AsAccessible()->AsHyperText())) {
     int32_t offset = 0;
     HyperTextAccessible* container = nullptr;
     htWrap->OffsetAtIndex(aIndex, &container, &offset);
     return GeckoTextMarker(container, offset);
   }
@@ -230,17 +230,17 @@ bool GeckoTextMarker::IsEditableRoot() {
 
 bool GeckoTextMarker::Next() {
   if (mContainer.IsProxy()) {
     int32_t nextOffset = 0;
     uint64_t nextContainerID = 0;
     DocAccessibleParent* ipcDoc = mContainer.AsProxy()->Document();
     Unused << ipcDoc->GetPlatformExtension()->SendNextClusterAt(
         mContainer.AsProxy()->ID(), mOffset, &nextContainerID, &nextOffset);
-    ProxyAccessible* nextContainer = ipcDoc->GetAccessible(nextContainerID);
+    RemoteAccessible* nextContainer = ipcDoc->GetAccessible(nextContainerID);
     bool moved = nextContainer != mContainer.AsProxy() || nextOffset != mOffset;
     mContainer = nextContainer;
     mOffset = nextOffset;
     return moved;
   } else if (auto htWrap = ContainerAsHyperTextWrap()) {
     HyperTextAccessible* nextContainer = nullptr;
     int32_t nextOffset = 0;
     htWrap->NextClusterAt(mOffset, &nextContainer, &nextOffset);
@@ -255,17 +255,17 @@ bool GeckoTextMarker::Next() {
 
 bool GeckoTextMarker::Previous() {
   if (mContainer.IsProxy()) {
     int32_t prevOffset = 0;
     uint64_t prevContainerID = 0;
     DocAccessibleParent* ipcDoc = mContainer.AsProxy()->Document();
     Unused << ipcDoc->GetPlatformExtension()->SendPreviousClusterAt(
         mContainer.AsProxy()->ID(), mOffset, &prevContainerID, &prevOffset);
-    ProxyAccessible* prevContainer = ipcDoc->GetAccessible(prevContainerID);
+    RemoteAccessible* prevContainer = ipcDoc->GetAccessible(prevContainerID);
     bool moved = prevContainer != mContainer.AsProxy() || prevOffset != mOffset;
     mContainer = prevContainer;
     mOffset = prevOffset;
     return moved;
   } else if (auto htWrap = ContainerAsHyperTextWrap()) {
     HyperTextAccessible* prevContainer = nullptr;
     int32_t prevOffset = 0;
     htWrap->PreviousClusterAt(mOffset, &prevContainer, &prevOffset);
@@ -493,17 +493,17 @@ NSAttributedString* GeckoTextMarkerRange
     DocAccessibleParent* ipcDoc = mStart.mContainer.AsProxy()->Document();
     Unused << ipcDoc->GetPlatformExtension()->SendAttributedTextForRange(
         mStart.mContainer.AsProxy()->ID(), mStart.mOffset,
         mEnd.mContainer.AsProxy()->ID(), mEnd.mOffset, &textAttributesRuns);
 
     for (size_t i = 0; i < textAttributesRuns.Length(); i++) {
       nsTArray<Attribute>& attributes =
           textAttributesRuns.ElementAt(i).TextAttributes();
-      ProxyAccessible* container =
+      RemoteAccessible* container =
           ipcDoc->GetAccessible(textAttributesRuns.ElementAt(i).ContainerID());
 
       NSAttributedString* substr = [[[NSAttributedString alloc]
           initWithString:nsCocoaUtils::ToNSString(
                              textAttributesRuns.ElementAt(i).Text())
               attributes:StringAttributesFromAttributes(attributes, container)]
           autorelease];
 
--- a/accessible/mac/MOXSearchInfo.mm
+++ b/accessible/mac/MOXSearchInfo.mm
@@ -177,28 +177,28 @@ using namespace mozilla::a11y;
             *stop = YES;
           }
         }
       }
 
       return;
     }
 
-    ProxyAccessible* proxy = geckoAcc.AsProxy();
+    RemoteAccessible* proxy = geckoAcc.AsProxy();
     if (ipcDoc &&
         ((ipcDoc != proxy->Document()) || (idx + 1 == [matches count]))) {
       // If the ipcDoc doesn't match the current proxy's doc, we crossed into a
       // new document. ..or this is the last match. Apply the filter on the list
       // of the current ipcDoc.
       nsTArray<uint64_t> matchIds;
       Unused << ipcDoc->GetPlatformExtension()->SendApplyPostSearchFilter(
           accIds, mResultLimit, EWhichPostFilter::eContainsText, searchText,
           &matchIds);
       for (size_t i = 0; i < matchIds.Length(); i++) {
-        if (ProxyAccessible* postMatch =
+        if (RemoteAccessible* postMatch =
                 ipcDoc->GetAccessible(matchIds.ElementAt(i))) {
           if (mozAccessible* nativePostMatch =
                   GetNativeFromGeckoAccessible(postMatch)) {
             [postMatches addObject:nativePostMatch];
             if (mResultLimit > 0 &&
                 [postMatches count] >= static_cast<NSUInteger>(mResultLimit)) {
               // If we reached the result limit, alter the `stop` pointer to YES
               // to stop iteration.
--- a/accessible/mac/MOXWebAreaAccessible.mm
+++ b/accessible/mac/MOXWebAreaAccessible.mm
@@ -119,17 +119,17 @@ using namespace mozilla::a11y;
   }
 
   nsAutoString url;
   if (mGeckoAccessible.IsAccessible()) {
     MOZ_ASSERT(mGeckoAccessible.AsAccessible()->IsDoc());
     DocAccessible* acc = mGeckoAccessible.AsAccessible()->AsDoc();
     acc->URL(url);
   } else {
-    ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
+    RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
     proxy->URL(url);
   }
 
   if (url.IsEmpty()) {
     return nil;
   }
 
   return [NSURL URLWithString:nsCocoaUtils::ToNSString(url)];
--- a/accessible/mac/MacUtils.h
+++ b/accessible/mac/MacUtils.h
@@ -17,17 +17,17 @@ namespace mozilla {
 namespace a11y {
 namespace utils {
 
 // convert an array of Gecko accessibles to an NSArray of native accessibles
 NSArray<mozAccessible*>* ConvertToNSArray(nsTArray<LocalAccessible*>& aArray);
 
 // convert an array of Gecko proxy accessibles to an NSArray of native
 // accessibles
-NSArray<mozAccessible*>* ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray);
+NSArray<mozAccessible*>* ConvertToNSArray(nsTArray<RemoteAccessible*>& aArray);
 
 /**
  * Get a localized string from the string bundle.
  * Return nil if not found.
  */
 NSString* LocalizedString(const nsString& aString);
 
 /**
--- a/accessible/mac/MacUtils.mm
+++ b/accessible/mac/MacUtils.mm
@@ -29,23 +29,23 @@ NSArray<mozAccessible*>* ConvertToNSArra
       [nativeArray addObject:GetObjectOrRepresentedView(curNative)];
   }
 
   return nativeArray;
 }
 
 // convert an array of Gecko proxy accessibles to an NSArray of native
 // accessibles
-NSArray<mozAccessible*>* ConvertToNSArray(nsTArray<ProxyAccessible*>& aArray) {
+NSArray<mozAccessible*>* ConvertToNSArray(nsTArray<RemoteAccessible*>& aArray) {
   NSMutableArray* nativeArray = [[NSMutableArray alloc] init];
 
   // iterate through the list, and get each native accessible.
   size_t totalCount = aArray.Length();
   for (size_t i = 0; i < totalCount; i++) {
-    ProxyAccessible* curAccessible = aArray.ElementAt(i);
+    RemoteAccessible* curAccessible = aArray.ElementAt(i);
     mozAccessible* curNative = GetNativeFromGeckoAccessible(curAccessible);
     if (curNative)
       [nativeArray addObject:GetObjectOrRepresentedView(curNative)];
   }
 
   return nativeArray;
 }
 
@@ -62,17 +62,17 @@ NSString* LocalizedString(const nsString
 }
 
 NSString* GetAccAttr(mozAccessible* aNativeAccessible, const char* aAttrName) {
   nsAutoString result;
   if (LocalAccessible* acc =
           [aNativeAccessible geckoAccessible].AsAccessible()) {
     nsCOMPtr<nsIPersistentProperties> attributes = acc->Attributes();
     attributes->GetStringProperty(nsCString(aAttrName), result);
-  } else if (ProxyAccessible* proxy =
+  } else if (RemoteAccessible* proxy =
                  [aNativeAccessible geckoAccessible].AsProxy()) {
     AutoTArray<Attribute, 10> attrs;
     proxy->Attributes(&attrs);
     for (size_t i = 0; i < attrs.Length(); i++) {
       if (attrs.ElementAt(i).Name() == aAttrName) {
         result = attrs.ElementAt(i).Value();
         break;
       }
--- a/accessible/mac/Platform.mm
+++ b/accessible/mac/Platform.mm
@@ -5,17 +5,17 @@
  * 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/. */
 
 #import <Cocoa/Cocoa.h>
 
 #import "MOXTextMarkerDelegate.h"
 
 #include "Platform.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "AccessibleOrProxy.h"
 #include "DocAccessibleParent.h"
 #include "mozTableAccessible.h"
 #include "MOXWebAreaAccessible.h"
 
 #include "nsAppShell.h"
 #include "mozilla/Telemetry.h"
 
@@ -35,27 +35,27 @@ bool ShouldA11yBeEnabled() {
   return (disabledState == ePlatformIsForceEnabled) ||
          ((disabledState == ePlatformIsEnabled) && sA11yShouldBeEnabled);
 }
 
 void PlatformInit() {}
 
 void PlatformShutdown() {}
 
-void ProxyCreated(ProxyAccessible* aProxy, uint32_t) {
+void ProxyCreated(RemoteAccessible* aProxy, uint32_t) {
   if (aProxy->Role() == roles::WHITESPACE) {
     // We don't create a native object if we're child of a "flat" accessible;
     // for example, on OS X buttons shouldn't have any children, because that
     // makes the OS confused. We also don't create accessibles for <br>
     // (whitespace) elements.
     return;
   }
 
   // Pass in dummy state for now as retrieving proxy state requires IPC.
-  // Note that we can use ProxyAccessible::IsTable* functions here because they
+  // Note that we can use RemoteAccessible::IsTable* functions here because they
   // do not use IPC calls but that might change after bug 1210477.
   Class type;
   if (aProxy->IsTable()) {
     type = [mozTableAccessible class];
   } else if (aProxy->IsTableRow()) {
     type = [mozTableRowAccessible class];
   } else if (aProxy->IsTableCell()) {
     type = [mozTableCellAccessible class];
@@ -64,28 +64,28 @@ void ProxyCreated(ProxyAccessible* aProx
   } else {
     type = GetTypeFromRole(aProxy->Role());
   }
 
   mozAccessible* mozWrapper = [[type alloc] initWithAccessible:aProxy];
   aProxy->SetWrapper(reinterpret_cast<uintptr_t>(mozWrapper));
 }
 
-void ProxyDestroyed(ProxyAccessible* aProxy) {
+void ProxyDestroyed(RemoteAccessible* aProxy) {
   mozAccessible* wrapper = GetNativeFromGeckoAccessible(aProxy);
   [wrapper expire];
   [wrapper release];
   aProxy->SetWrapper(0);
 
   if (aProxy->IsDoc()) {
     [MOXTextMarkerDelegate destroyForDoc:aProxy];
   }
 }
 
-void ProxyEvent(ProxyAccessible* aProxy, uint32_t aEventType) {
+void ProxyEvent(RemoteAccessible* aProxy, uint32_t aEventType) {
   // Ignore event that we don't escape below, they aren't yet supported.
   if (aEventType != nsIAccessibleEvent::EVENT_FOCUS &&
       aEventType != nsIAccessibleEvent::EVENT_VALUE_CHANGE &&
       aEventType != nsIAccessibleEvent::EVENT_TEXT_VALUE_CHANGE &&
       aEventType != nsIAccessibleEvent::EVENT_TEXT_CARET_MOVED &&
       aEventType != nsIAccessibleEvent::EVENT_DOCUMENT_LOAD_COMPLETE &&
       aEventType != nsIAccessibleEvent::EVENT_REORDER &&
       aEventType != nsIAccessibleEvent::EVENT_LIVE_REGION_ADDED &&
@@ -96,25 +96,25 @@ void ProxyEvent(ProxyAccessible* aProxy,
     return;
 
   mozAccessible* wrapper = GetNativeFromGeckoAccessible(aProxy);
   if (wrapper) {
     [wrapper handleAccessibleEvent:aEventType];
   }
 }
 
-void ProxyStateChangeEvent(ProxyAccessible* aProxy, uint64_t aState,
+void ProxyStateChangeEvent(RemoteAccessible* aProxy, uint64_t aState,
                            bool aEnabled) {
   mozAccessible* wrapper = GetNativeFromGeckoAccessible(aProxy);
   if (wrapper) {
     [wrapper stateChanged:aState isEnabled:aEnabled];
   }
 }
 
-void ProxyCaretMoveEvent(ProxyAccessible* aTarget, int32_t aOffset,
+void ProxyCaretMoveEvent(RemoteAccessible* aTarget, int32_t aOffset,
                          bool aIsSelectionCollapsed) {
   mozAccessible* wrapper = GetNativeFromGeckoAccessible(aTarget);
   MOXTextMarkerDelegate* delegate =
       [MOXTextMarkerDelegate getOrCreateForDoc:aTarget->Document()];
   [delegate setCaretOffset:aTarget at:aOffset];
   if (aIsSelectionCollapsed) {
     // If selection is collapsed, invalidate selection.
     [delegate setSelectionFrom:aTarget at:aOffset to:aTarget at:aOffset];
@@ -127,65 +127,65 @@ void ProxyCaretMoveEvent(ProxyAccessible
           handleAccessibleEvent:nsIAccessibleEvent::EVENT_TEXT_CARET_MOVED];
     } else {
       [wrapper
           handleAccessibleEvent:nsIAccessibleEvent::EVENT_TEXT_CARET_MOVED];
     }
   }
 }
 
-void ProxyTextChangeEvent(ProxyAccessible* aTarget, const nsString& aStr,
+void ProxyTextChangeEvent(RemoteAccessible* aTarget, const nsString& aStr,
                           int32_t aStart, uint32_t aLen, bool aIsInsert,
                           bool aFromUser) {
-  ProxyAccessible* acc = aTarget;
+  RemoteAccessible* acc = aTarget;
   // If there is a text input ancestor, use it as the event source.
   while (acc && GetTypeFromRole(acc->Role()) != [mozTextAccessible class]) {
     acc = acc->RemoteParent();
   }
   mozAccessible* wrapper = GetNativeFromGeckoAccessible(acc ? acc : aTarget);
   [wrapper handleAccessibleTextChangeEvent:nsCocoaUtils::ToNSString(aStr)
                                   inserted:aIsInsert
                                inContainer:aTarget
                                         at:aStart];
 }
 
-void ProxyShowHideEvent(ProxyAccessible*, ProxyAccessible*, bool, bool) {}
+void ProxyShowHideEvent(RemoteAccessible*, RemoteAccessible*, bool, bool) {}
 
-void ProxySelectionEvent(ProxyAccessible* aTarget, ProxyAccessible* aWidget,
+void ProxySelectionEvent(RemoteAccessible* aTarget, RemoteAccessible* aWidget,
                          uint32_t aEventType) {
   mozAccessible* wrapper = GetNativeFromGeckoAccessible(aWidget);
   if (wrapper) {
     [wrapper handleAccessibleEvent:aEventType];
   }
 }
 
-void ProxyTextSelectionChangeEvent(ProxyAccessible* aTarget,
+void ProxyTextSelectionChangeEvent(RemoteAccessible* aTarget,
                                    const nsTArray<TextRangeData>& aSelection) {
   if (aSelection.Length()) {
     MOXTextMarkerDelegate* delegate =
         [MOXTextMarkerDelegate getOrCreateForDoc:aTarget->Document()];
     DocAccessibleParent* doc = aTarget->Document();
-    ProxyAccessible* startContainer =
+    RemoteAccessible* startContainer =
         doc->GetAccessible(aSelection[0].StartID());
-    ProxyAccessible* endContainer = doc->GetAccessible(aSelection[0].EndID());
+    RemoteAccessible* endContainer = doc->GetAccessible(aSelection[0].EndID());
     // Cache the selection.
     [delegate setSelectionFrom:startContainer
                             at:aSelection[0].StartOffset()
                             to:endContainer
                             at:aSelection[0].EndOffset()];
   }
 
   mozAccessible* wrapper = GetNativeFromGeckoAccessible(aTarget);
   if (wrapper) {
     [wrapper
         handleAccessibleEvent:nsIAccessibleEvent::EVENT_TEXT_SELECTION_CHANGED];
   }
 }
 
-void ProxyRoleChangedEvent(ProxyAccessible* aTarget, const a11y::role& aRole) {
+void ProxyRoleChangedEvent(RemoteAccessible* aTarget, const a11y::role& aRole) {
   if (mozAccessible* wrapper = GetNativeFromGeckoAccessible(aTarget)) {
     [wrapper handleRoleChanged:aRole];
   }
 }
 
 }  // namespace a11y
 }  // namespace mozilla
 
--- a/accessible/mac/RotorRules.mm
+++ b/accessible/mac/RotorRules.mm
@@ -316,17 +316,17 @@ uint16_t RotorHeadingLevelRule::Match(co
   // if a match was found in the base-class's Match function,
   // it is valid to consider that match again here. if it is
   // not of the desired heading level, we flip the match bit to
   // "unmatch" otherwise, the match persists.
   if ((result & nsIAccessibleTraversalRule::FILTER_MATCH)) {
     int32_t currLevel = 0;
     if (LocalAccessible* acc = aAccOrProxy.AsAccessible()) {
       currLevel = acc->GroupPosition().level;
-    } else if (ProxyAccessible* proxy = aAccOrProxy.AsProxy()) {
+    } else if (RemoteAccessible* proxy = aAccOrProxy.AsProxy()) {
       currLevel = proxy->GroupPosition().level;
     }
 
     if (currLevel != mLevel) {
       result &= ~nsIAccessibleTraversalRule::FILTER_MATCH;
     }
   }
 
--- a/accessible/mac/mozAccessible.h
+++ b/accessible/mac/mozAccessible.h
@@ -1,17 +1,17 @@
 /* clang-format off */
 /* -*- Mode: Objective-C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* clang-format on */
 /* 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 "AccessibleWrap.h"
-#include "ProxyAccessible.h"
+#include "RemoteAccessible.h"
 #include "AccessibleOrProxy.h"
 
 #import <Cocoa/Cocoa.h>
 
 #import "MOXAccessibleBase.h"
 
 @class mozRootAccessible;
 
@@ -31,17 +31,17 @@ inline mozAccessible* GetNativeFromGecko
     return nil;
   }
   if (LocalAccessible* acc = aAccOrProxy.AsAccessible()) {
     mozAccessible* native = nil;
     acc->GetNativeInterface((void**)&native);
     return native;
   }
 
-  ProxyAccessible* proxy = aAccOrProxy.AsProxy();
+  RemoteAccessible* proxy = aAccOrProxy.AsProxy();
   return reinterpret_cast<mozAccessible*>(proxy->GetWrapper());
 }
 
 }  // a11y
 }  // mozilla
 
 @interface mozAccessible : MOXAccessibleBase {
   /**
--- a/accessible/mac/mozAccessible.mm
+++ b/accessible/mac/mozAccessible.mm
@@ -116,17 +116,17 @@ static const uint64_t kCacheInitialized 
 
 - (uint64_t)state {
   uint64_t state = 0;
 
   if (LocalAccessible* acc = mGeckoAccessible.AsAccessible()) {
     state = acc->State();
   }
 
-  if (ProxyAccessible* proxy = mGeckoAccessible.AsProxy()) {
+  if (RemoteAccessible* proxy = mGeckoAccessible.AsProxy()) {
     state = proxy->State();
   }
 
   if (!(mCachedState & kCacheInitialized)) {
     mCachedState = state & kCachedStates;
     mCachedState |= kCacheInitialized;
   }
 
@@ -217,17 +217,17 @@ static const uint64_t kCacheInitialized 
 
   return [super moxBlockSelector:selector];
 }
 
 - (id)moxFocusedUIElement {
   MOZ_ASSERT(!mGeckoAccessible.IsNull());
 
   LocalAccessible* acc = mGeckoAccessible.AsAccessible();
-  ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
+  RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
 
   mozAccessible* focusedChild = nil;
   if (acc) {
     LocalAccessible* focusedGeckoChild = acc->FocusedChild();
     if (focusedGeckoChild) {
       focusedChild = GetNativeFromGeckoAccessible(focusedGeckoChild);
     } else {
       dom::BrowserParent* browser = dom::BrowserParent::GetFocused();
@@ -237,17 +237,17 @@ static const uint64_t kCacheInitialized 
         if (proxyDoc) {
           mozAccessible* nativeRemoteChild =
               GetNativeFromGeckoAccessible(proxyDoc);
           return [nativeRemoteChild accessibilityFocusedUIElement];
         }
       }
     }
   } else if (proxy) {
-    ProxyAccessible* focusedGeckoChild = proxy->FocusedChild();
+    RemoteAccessible* focusedGeckoChild = proxy->FocusedChild();
     if (focusedGeckoChild) {
       focusedChild = GetNativeFromGeckoAccessible(focusedGeckoChild);
     }
   }
 
   if ([focusedChild isAccessibilityElement]) {
     return focusedChild;
   }
@@ -422,17 +422,17 @@ static const uint64_t kCacheInitialized 
 
   return mARIARole;
 }
 
 - (NSString*)moxSubrole {
   MOZ_ASSERT(!mGeckoAccessible.IsNull());
 
   LocalAccessible* acc = mGeckoAccessible.AsAccessible();
-  ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
+  RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
 
   // Deal with landmarks first
   // macOS groups the specific landmark types of DPub ARIA into two broad
   // categories with corresponding subroles: Navigation and region/container.
   if (mRole == roles::LANDMARK) {
     nsAtom* landmark = acc ? acc->LandmarkRole() : proxy->LandmarkRole();
     // HTML Elements treated as landmarks, and ARIA landmarks.
     if (landmark) {
@@ -579,17 +579,17 @@ struct RoleDescrComparator {
 }
 
 - (NSString*)moxLabel {
   if ([self isExpired]) {
     return nil;
   }
 
   LocalAccessible* acc = mGeckoAccessible.AsAccessible();
-  ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
+  RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
   nsAutoString name;
 
   /* If our accessible is:
    * 1. Named by invisible text, or
    * 2. Has more than one labeling relation, or
    * 3. Is a special role defined in providesLabelNotTitle
    *   ... return its name as a label (AXDescription).
    */
@@ -671,17 +671,17 @@ struct RoleDescrComparator {
   NS_OBJC_BEGIN_TRY_BLOCK_RETURN;
 
   // Get a pointer to the native window (NSWindow) we reside in.
   NSWindow* nativeWindow = nil;
   DocAccessible* docAcc = nullptr;
   if (LocalAccessible* acc = mGeckoAccessible.AsAccessible()) {
     docAcc = acc->Document();
   } else {
-    ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
+    RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
     LocalAccessible* outerDoc = proxy->OuterDocOfRemoteBrowser();
     if (outerDoc) docAcc = outerDoc->Document();
   }
 
   if (docAcc) nativeWindow = static_cast<NSWindow*>(docAcc->GetNativeWindow());
 
   MOZ_ASSERT(nativeWindow, "Couldn't get native window");
   return nativeWindow;
@@ -976,18 +976,18 @@ struct RoleDescrComparator {
       if (mozAccessible* relNative = GetNativeFromGeckoAccessible(relAcc)) {
         [relations addObject:relNative];
       }
     }
 
     return relations;
   }
 
-  ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
-  nsTArray<ProxyAccessible*> rel = proxy->RelationByType(relationType);
+  RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
+  nsTArray<RemoteAccessible*> rel = proxy->RelationByType(relationType);
   return utils::ConvertToNSArray(rel);
 }
 
 - (void)handleAccessibleTextChangeEvent:(NSString*)change
                                inserted:(BOOL)isInserted
                             inContainer:(const AccessibleOrProxy&)container
                                      at:(int32_t)start {
 }
--- a/accessible/mac/mozActionElements.mm
+++ b/accessible/mac/mozActionElements.mm
@@ -184,17 +184,17 @@ enum CheckboxValue {
 
   if (LocalAccessible* acc = mGeckoAccessible.AsAccessible()) {
     double newVal = acc->CurValue() + (acc->Step() * factor);
     double min = acc->MinValue();
     double max = acc->MaxValue();
     if ((IsNaN(min) || newVal >= min) && (IsNaN(max) || newVal <= max)) {
       acc->SetCurValue(newVal);
     }
-  } else if (ProxyAccessible* proxy = mGeckoAccessible.AsProxy()) {
+  } else if (RemoteAccessible* proxy = mGeckoAccessible.AsProxy()) {
     double newVal = proxy->CurValue() + (proxy->Step() * factor);
     double min = proxy->MinValue();
     double max = proxy->MaxValue();
     // Because min and max are not required attributes, we first check
     // if the value is undefined. If this check fails,
     // the value is defined, and we we verify our new value falls
     // within the bound (inclusive).
     if ((IsNaN(min) || newVal >= min) && (IsNaN(max) || newVal <= max)) {
--- a/accessible/mac/mozHTMLAccessible.mm
+++ b/accessible/mac/mozHTMLAccessible.mm
@@ -18,28 +18,28 @@ using namespace mozilla::a11y;
 
 - (NSString*)moxTitle {
   nsAutoString title;
   if (LocalAccessible* acc = mGeckoAccessible.AsAccessible()) {
     mozilla::ErrorResult rv;
     // XXX use the flattening API when there are available
     // see bug 768298
     acc->GetContent()->GetTextContent(title, rv);
-  } else if (ProxyAccessible* proxy = mGeckoAccessible.AsProxy()) {
+  } else if (RemoteAccessible* proxy = mGeckoAccessible.AsProxy()) {
     proxy->Title(title);
   }
 
   return nsCocoaUtils::ToNSString(title);
 }
 
 - (id)moxValue {
   GroupPos groupPos;
   if (LocalAccessible* acc = mGeckoAccessible.AsAccessible()) {
     groupPos = acc->GroupPosition();
-  } else if (ProxyAccessible* proxy = mGeckoAccessible.AsProxy()) {
+  } else if (RemoteAccessible* proxy = mGeckoAccessible.AsProxy()) {
     groupPos = proxy->GroupPosition();
   }
 
   return [NSNumber numberWithInt:groupPos.level];
 }
 
 @end
 
@@ -48,17 +48,17 @@ using namespace mozilla::a11y;
 - (NSString*)moxValue {
   return @"";
 }
 
 - (NSURL*)moxURL {
   nsAutoString value;
   if (LocalAccessible* acc = mGeckoAccessible.AsAccessible()) {
     acc->Value(value);
-  } else if (ProxyAccessible* proxy = mGeckoAccessible.AsProxy()) {
+  } else if (RemoteAccessible* proxy = mGeckoAccessible.AsProxy()) {
     proxy->Value(value);
   }
 
   NSString* urlString = value.IsEmpty() ? nil : nsCocoaUtils::ToNSString(value);
   if (!urlString) return nil;
 
   return [NSURL URLWithString:urlString];
 }
--- a/accessible/mac/mozTableAccessible.mm
+++ b/accessible/mac/mozTableAccessible.mm
@@ -58,21 +58,21 @@ enum CachedBool { eCachedBoolMiss, eCach
       LocalAccessible* cell = table->CellAt(j, mIndex);
       mozAccessible* nativeCell =
           cell ? GetNativeFromGeckoAccessible(cell) : nil;
       if ([nativeCell isAccessibilityElement]) {
         [mChildren addObject:nativeCell];
       }
     }
 
-  } else if (ProxyAccessible* proxy = [mParent geckoAccessible].AsProxy()) {
+  } else if (RemoteAccessible* proxy = [mParent geckoAccessible].AsProxy()) {
     uint32_t numRows = proxy->TableRowCount();
 
     for (uint32_t j = 0; j < numRows; j++) {
-      ProxyAccessible* cell = proxy->TableCellAt(j, mIndex);
+      RemoteAccessible* cell = proxy->TableCellAt(j, mIndex);
       mozAccessible* nativeCell =
           cell ? GetNativeFromGeckoAccessible(cell) : nil;
       if ([nativeCell isAccessibilityElement]) {
         [mChildren addObject:nativeCell];
       }
     }
   }
 
@@ -194,17 +194,17 @@ enum CachedBool { eCachedBoolMiss, eCach
     mIsLayoutTable = eCachedFalse;
     return false;
   }
 
   bool tableGuess;
   if (LocalAccessible* acc = mGeckoAccessible.AsAccessible()) {
     tableGuess = acc->AsTable()->IsProbablyLayoutTable();
   } else {
-    ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
+    RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
     tableGuess = proxy->TableIsProbablyForLayout();
   }
 
   mIsLayoutTable = tableGuess ? eCachedTrue : eCachedFalse;
   return tableGuess;
 }
 
 - (void)handleAccessibleEvent:(uint32_t)eventType {
@@ -380,63 +380,63 @@ enum CachedBool { eCachedBoolMiss, eCach
 - (NSValue*)moxRowIndexRange {
   MOZ_ASSERT(!mGeckoAccessible.IsNull());
 
   if (mGeckoAccessible.IsAccessible()) {
     TableCellAccessible* cell = mGeckoAccessible.AsAccessible()->AsTableCell();
     return
         [NSValue valueWithRange:NSMakeRange(cell->RowIdx(), cell->RowExtent())];
   } else {
-    ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
+    RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
     return [NSValue
         valueWithRange:NSMakeRange(proxy->RowIdx(), proxy->RowExtent())];
   }
 }
 
 - (NSValue*)moxColumnIndexRange {
   MOZ_ASSERT(!mGeckoAccessible.IsNull());
 
   if (mGeckoAccessible.IsAccessible()) {
     TableCellAccessible* cell = mGeckoAccessible.AsAccessible()->AsTableCell();
     return
         [NSValue valueWithRange:NSMakeRange(cell->ColIdx(), cell->ColExtent())];
   } else {
-    ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
+    RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
     return [NSValue
         valueWithRange:NSMakeRange(proxy->ColIdx(), proxy->ColExtent())];
   }
 }
 
 - (NSArray*)moxRowHeaderUIElements {
   MOZ_ASSERT(!mGeckoAccessible.IsNull());
 
   if (mGeckoAccessible.IsAccessible()) {
     TableCellAccessible* cell = mGeckoAccessible.AsAccessible()->AsTableCell();
     AutoTArray<LocalAccessible*, 10> headerCells;
     cell->RowHeaderCells(&headerCells);
     return utils::ConvertToNSArray(headerCells);
   } else {
-    ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
-    nsTArray<ProxyAccessible*> headerCells;
+    RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
+    nsTArray<RemoteAccessible*> headerCells;
     proxy->RowHeaderCells(&headerCells);
     return utils::ConvertToNSArray(headerCells);
   }
 }
 
 - (NSArray*)moxColumnHeaderUIElements {
   MOZ_ASSERT(!mGeckoAccessible.IsNull());
 
   if (mGeckoAccessible.IsAccessible()) {
     TableCellAccessible* cell = mGeckoAccessible.AsAccessible()->AsTableCell();
     AutoTArray<LocalAccessible*, 10> headerCells;
     cell->ColHeaderCells(&headerCells);
     return utils::ConvertToNSArray(headerCells);
   } else {
-    ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
-    nsTArray<ProxyAccessible*> headerCells;
+    RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
+    nsTArray<RemoteAccessible*> headerCells;
     proxy->ColHeaderCells(&headerCells);
     return utils::ConvertToNSArray(headerCells);
   }
 }
 
 @end
 
 @implementation mozOutlineAccessible
@@ -564,17 +564,17 @@ enum CachedBool { eCachedBoolMiss, eCach
 
   return nil;
 }
 
 - (NSNumber*)moxDisclosureLevel {
   GroupPos groupPos;
   if (LocalAccessible* acc = mGeckoAccessible.AsAccessible()) {
     groupPos = acc->GroupPosition();
-  } else if (ProxyAccessible* proxy = mGeckoAccessible.AsProxy()) {
+  } else if (RemoteAccessible* proxy = mGeckoAccessible.AsProxy()) {
     groupPos = proxy->GroupPosition();
   }
   // mac expects 0-indexed levels, but groupPos.level is 1-indexed
   // so we subtract 1 here for levels above 0
   return groupPos.level > 0 ? @(groupPos.level - 1) : @(groupPos.level);
 }
 
 - (NSArray*)moxDisclosedRows {
--- a/accessible/mac/mozTextAccessible.mm
+++ b/accessible/mac/mozTextAccessible.mm
@@ -89,17 +89,17 @@ inline NSString* ToNSString(id aValue) {
       nsAccUtils::GetAccAttr(attributes, nsGkAtoms::invalid, invalidStr);
       if (invalidStr.IsEmpty()) {
         // if the attribute had no value, we should still respect the
         // invalid state flag.
         return @"true";
       }
       return nsCocoaUtils::ToNSString(invalidStr);
     } else {
-      ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
+      RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
       // Similar to the acc case above, we iterate through our attributes
       // to find the value for `invalid`.
       AutoTArray<Attribute, 10> attrs;
       proxy->DefaultTextAttributes(&attrs);
       for (size_t i = 0; i < attrs.Length(); i++) {
         if (attrs.ElementAt(i).Name() == "invalid") {
           nsString invalidStr = attrs.ElementAt(i).Value();
           if (invalidStr.IsEmpty()) {
@@ -146,17 +146,17 @@ inline NSString* ToNSString(id aValue) {
   MOZ_ASSERT(!mGeckoAccessible.IsNull());
 
   if (mRole == roles::PASSWORD_TEXT) {
     return NSAccessibilitySecureTextFieldSubrole;
   }
 
   if (mRole == roles::ENTRY) {
     LocalAccessible* acc = mGeckoAccessible.AsAccessible();
-    ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
+    RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
     if ((acc && acc->IsSearchbox()) || (proxy && proxy->IsSearchbox())) {
       return @"AXSearchField";
     }
   }
 
   return nil;
 }
 
@@ -229,17 +229,17 @@ inline NSString* ToNSString(id aValue) {
     if (HyperTextAccessible* textAcc =
             mGeckoAccessible.AsAccessible()->AsHyperText()) {
       textAcc->SelectionBoundsAt(0, &start, &end);
       textAcc->DeleteText(start, end - start);
       nsCocoaUtils::GetStringForNSString(stringValue, text);
       textAcc->InsertText(text, start);
     }
   } else {
-    ProxyAccessible* proxy = mGeckoAccessible.AsProxy();
+    RemoteAccessible* proxy = mGeckoAccessible.AsProxy();
     nsString data;
     proxy->SelectionBoundsAt(0, data, &start, &end);
     proxy->DeleteText(start, end - start);
     nsCocoaUtils::GetStringForNSString(stringValue, text);
     proxy->InsertText(text, start);
   }
 }
 
--- a/accessible/other/Platform.cpp
+++ b/accessible/other/Platform.cpp
@@ -8,25 +8,27 @@
 
 using namespace mozilla;
 using namespace mozilla::a11y;
 
 void a11y::PlatformInit() {}
 
 void a11y::PlatformShutdown() {}
 
-void a11y::ProxyCreated(ProxyAccessible*, uint32_t) {}
+void a11y::ProxyCreated(RemoteAccessible*, uint32_t) {}
 
-void a11y::ProxyDestroyed(ProxyAccessible*) {}
+void a11y::ProxyDestroyed(RemoteAccessible*) {}
 
-void a11y::ProxyEvent(ProxyAccessible*, uint32_t) {}
+void a11y::ProxyEvent(RemoteAccessible*, uint32_t) {}
 
-void a11y::ProxyStateChangeEvent(ProxyAccessible*, uint64_t, bool) {}
+void a11y::ProxyStateChangeEvent(RemoteAccessible*, uint64_t, bool) {}
 
-void a11y::ProxyCaretMoveEvent(ProxyAccessible* aTarget, int32_t aOffset,
+void a11y::ProxyCaretMoveEvent(RemoteAccessible* aTarget, int32_t aOffset,
                                bool aIsSelectionCollapsed) {}
 
-void a11y::ProxyTextChangeEvent(ProxyAccessible*, const nsString&, int32_t,
+void a11y::ProxyTextChangeEvent(RemoteAccessible*, const nsString&, int32_t,
                                 uint32_t, bool, bool) {}
 
-void a11y::ProxyShowHideEvent(ProxyAccessible*, ProxyAccessible*, bool, bool) {}
+void a11y::ProxyShowHideEvent(RemoteAccessible*, RemoteAccessible*, bool,
+                              bool) {}
 
-void a11y::ProxySelectionEvent(ProxyAccessible*, ProxyAccessible*, uint32_t) {}
+void a11y::ProxySelectionEvent(RemoteAccessible*, RemoteAccessible*, uint32_t) {
+}
--- a/accessible/windows/ProxyWrappers.h
+++ b/accessible/windows/ProxyWrappers.h
@@ -8,118 +8,118 @@
 #ifndef MOZILLA_A11Y_ProxyWrappers_h
 #define MOZILLA_A11Y_ProxyWrappers_h
 
 #include "HyperTextAccessibleWrap.h"
 
 namespace mozilla {
 namespace a11y {
 
-class ProxyAccessibleWrap : public AccessibleWrap {
+class RemoteAccessibleWrap : public AccessibleWrap {
  public:
-  explicit ProxyAccessibleWrap(ProxyAccessible* aProxy)
+  explicit RemoteAccessibleWrap(RemoteAccessible* aProxy)
       : AccessibleWrap(nullptr, nullptr) {
     mType = eProxyType;
     mBits.proxy = aProxy;
   }
 
   virtual void Shutdown() override {
     mBits.proxy = nullptr;
     mStateFlags |= eIsDefunct;
   }
 
   virtual void GetNativeInterface(void** aOutAccessible) override {
     mBits.proxy->GetCOMInterface(aOutAccessible);
   }
 };
 
-class HyperTextProxyAccessibleWrap : public HyperTextAccessibleWrap {
+class HyperTextRemoteAccessibleWrap : public HyperTextAccessibleWrap {
  public:
-  explicit HyperTextProxyAccessibleWrap(ProxyAccessible* aProxy)
+  explicit HyperTextRemoteAccessibleWrap(RemoteAccessible* aProxy)
       : HyperTextAccessibleWrap(nullptr, nullptr) {
     mType = eProxyType;
     mBits.proxy = aProxy;
   }
 
   virtual void Shutdown() override {
     mBits.proxy = nullptr;
     mStateFlags |= eIsDefunct;
   }
 
   virtual void GetNativeInterface(void** aOutAccessible) override {
     mBits.proxy->GetCOMInterface(aOutAccessible);
   }
 };
 
-class DocProxyAccessibleWrap : public HyperTextProxyAccessibleWrap {
+class DocRemoteAccessibleWrap : public HyperTextRemoteAccessibleWrap {
  public:
-  explicit DocProxyAccessibleWrap(ProxyAccessible* aProxy)
-      : HyperTextProxyAccessibleWrap(aProxy) {
+  explicit DocRemoteAccessibleWrap(RemoteAccessible* aProxy)
+      : HyperTextRemoteAccessibleWrap(aProxy) {
     mGenericTypes |= eDocument;
   }
 
   void AddID(uint32_t aID, AccessibleWrap* aAcc) {
     mIDToAccessibleMap.Put(aID, aAcc);
   }
   void RemoveID(uint32_t aID) { mIDToAccessibleMap.Remove(aID); }
   AccessibleWrap* GetAccessibleByID(uint32_t aID) const {
     return mIDToAccessibleMap.Get(aID);
   }
 
   virtual nsIntRect Bounds() const override {
-    // OuterDocAccessible can return a DocProxyAccessibleWrap as a child.
+    // OuterDocAccessible can return a DocRemoteAccessibleWrap as a child.
     // LocalAccessible::ChildAtPoint on an ancestor might retrieve this proxy
     // and call Bounds() on it. This will crash on a proxy, so we override it to
     // do nothing here.
     return nsIntRect();
   }
 
  private:
   /*
    * This provides a mapping from 32 bit id to accessible objects.
    */
   nsDataHashtable<nsUint32HashKey, AccessibleWrap*> mIDToAccessibleMap;
 };
 
 template <typename T>
-inline ProxyAccessible* HyperTextProxyFor(T* aWrapper) {
+inline RemoteAccessible* HyperTextProxyFor(T* aWrapper) {
   static_assert(std::is_base_of<IUnknown, T>::value,
                 "only IAccessible* should be passed in");
-  auto wrapper = static_cast<HyperTextProxyAccessibleWrap*>(aWrapper);
+  auto wrapper = static_cast<HyperTextRemoteAccessibleWrap*>(aWrapper);
   return wrapper->IsProxy() ? wrapper->Proxy() : nullptr;
 }
 
 /**
  * Stub AccessibleWrap used in a content process for an embedded document
  * residing in another content process.
- * There is no ProxyAccessible here, since those only exist in the parent
- * process. However, like ProxyAccessibleWrap, the only real method that
+ * There is no RemoteAccessible here, since those only exist in the parent
+ * process. However, like RemoteAccessibleWrap, the only real method that
  * gets called is GetNativeInterface, which returns a COM proxy for the
  * document.
  */
-class RemoteIframeDocProxyAccessibleWrap : public HyperTextAccessibleWrap {
+class RemoteIframeDocRemoteAccessibleWrap : public HyperTextAccessibleWrap {
  public:
-  explicit RemoteIframeDocProxyAccessibleWrap(IDispatch* aCOMProxy)
+  explicit RemoteIframeDocRemoteAccessibleWrap(IDispatch* aCOMProxy)
       : HyperTextAccessibleWrap(nullptr, nullptr), mCOMProxy(aCOMProxy) {
     mType = eProxyType;
     mBits.proxy = nullptr;
   }
 
   virtual void Shutdown() override {
     mStateFlags |= eIsDefunct;
     mCOMProxy = nullptr;
   }
 
   virtual void GetNativeInterface(void** aOutAccessible) override {
     RefPtr<IDispatch> addRefed = mCOMProxy;
     addRefed.forget(aOutAccessible);
   }
 
   virtual nsIntRect Bounds() const override {
-    // OuterDocAccessible can return a RemoteIframeDocProxyAccessibleWrap as a
+    // OuterDocAccessible can return a RemoteIframeDocRemoteAccessibleWrap as a
     // child. LocalAccessible::ChildAtPoint on an ancestor might retrieve this
     // proxy and call Bounds() on it. This will crash on a proxy, so we override
     // it to do nothing here.
     return nsIntRect();
   }
 
  private:
   RefPtr<IDispatch> mCOMProxy;
--- a/accessible/windows/msaa/AccessibleWrap.cpp
+++ b/accessible/windows/msaa/AccessibleWrap.cpp
@@ -12,17 +12,17 @@
 #include "mozilla/a11y/DocAccessibleParent.h"
 #include "EnumVariant.h"
 #include "GeckoCustom.h"
 #include "nsAccUtils.h"
 #include "nsCoreUtils.h"
 #include "nsIAccessibleEvent.h"
 #include "nsWindowsHelpers.h"
 #include "nsWinUtils.h"
-#include "mozilla/a11y/ProxyAccessible.h"
+#include "mozilla/a11y/RemoteAccessible.h"
 #include "ProxyWrappers.h"
 #include "ServiceProvider.h"
 #include "Relation.h"
 #include "Role.h"
 #include "RootAccessible.h"
 #include "sdnAccessible.h"
 #include "States.h"
 
@@ -1162,28 +1162,28 @@ nsresult AccessibleWrap::HandleAccEvent(
     UpdateSystemCaretFor(accessible);
   }
 
   FireWinEvent(accessible, eventType);
 
   return NS_OK;
 }
 
-DocProxyAccessibleWrap* AccessibleWrap::DocProxyWrapper() const {
+DocRemoteAccessibleWrap* AccessibleWrap::DocProxyWrapper() const {
   MOZ_ASSERT(IsProxy());
 
-  ProxyAccessible* proxy = Proxy();
+  RemoteAccessible* proxy = Proxy();
   if (!proxy) {
     return nullptr;
   }
 
   AccessibleWrap* acc = WrapperFor(proxy->Document());
   MOZ_ASSERT(acc->IsDoc());
 
-  return static_cast<DocProxyAccessibleWrap*>(acc);
+  return static_cast<DocRemoteAccessibleWrap*>(acc);
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 // AccessibleWrap
 
 //------- Helper methods ---------
 
 int32_t AccessibleWrap::GetChildIDFor(LocalAccessible* aAccessible) {
@@ -1218,17 +1218,17 @@ int32_t AccessibleWrap::GetChildIDFor(Lo
 }
 
 HWND AccessibleWrap::GetHWNDFor(LocalAccessible* aAccessible) {
   if (!aAccessible) {
     return nullptr;
   }
 
   if (aAccessible->IsProxy()) {
-    ProxyAccessible* proxy = aAccessible->Proxy();
+    RemoteAccessible* proxy = aAccessible->Proxy();
     if (!proxy) {
       return nullptr;
     }
 
     // If window emulation is enabled, retrieve the emulated window from the
     // containing document document proxy.
     if (nsWinUtils::IsWindowEmulationStarted()) {
       DocAccessibleParent* doc = proxy->Document();
@@ -1303,17 +1303,17 @@ static LocalAccessible* GetAccessibleInS
     if (child) return child;
   }
 
   return nullptr;
 }
 
 static already_AddRefed<IDispatch> GetProxiedAccessibleInSubtree(
     const DocAccessibleParent* aDoc, const VARIANT& aVarChild) {
-  auto wrapper = static_cast<DocProxyAccessibleWrap*>(WrapperFor(aDoc));
+  auto wrapper = static_cast<DocRemoteAccessibleWrap*>(WrapperFor(aDoc));
   RefPtr<IAccessible> comProxy;
   int32_t docWrapperChildId = AccessibleWrap::GetChildIDFor(wrapper);
   // Only document accessible proxies at the top level of their content process
   // are created with a pointer to their COM proxy.
   if (aDoc->IsTopLevelInContentProcess()) {
     wrapper->GetNativeInterface(getter_AddRefs(comProxy));
   } else {
     auto tab = static_cast<dom::BrowserParent*>(aDoc->Manager());
@@ -1598,17 +1598,17 @@ void AccessibleWrap::UpdateSystemCaretFo
 
   HWND caretWnd =
       reinterpret_cast<HWND>(widget->GetNativeData(NS_NATIVE_WINDOW));
   UpdateSystemCaretFor(caretWnd, caretRect);
 }
 
 /* static */
 void AccessibleWrap::UpdateSystemCaretFor(
-    ProxyAccessible* aProxy, const LayoutDeviceIntRect& aCaretRect) {
+    RemoteAccessible* aProxy, const LayoutDeviceIntRect& aCaretRect) {
   ::DestroyCaret();
 
   // The HWND should be the real widget HWND, not an emulated HWND.
   // We get the HWND from the proxy's outer doc to bypass window emulation.
   LocalAccessible* outerDoc = aProxy->OuterDocOfRemoteBrowser();
   UpdateSystemCaretFor(GetHWNDFor(outerDoc), aCaretRect);
 }
 
--- a/accessible/windows/msaa/AccessibleWrap.h
+++ b/accessible/windows/msaa/AccessibleWrap.h
@@ -10,33 +10,33 @@
 #include "nsCOMPtr.h"
 #include "LocalAccessible.h"
 #include "ia2Accessible.h"
 #include "ia2AccessibleComponent.h"
 #include "ia2AccessibleHyperlink.h"
 #include "ia2AccessibleValue.h"
 #include "mozilla/a11y/AccessibleHandler.h"
 #include "mozilla/a11y/MsaaIdGenerator.h"
-#include "mozilla/a11y/ProxyAccessible.h"
+#include "mozilla/a11y/RemoteAccessible.h"
 #include "mozilla/Attributes.h"
 #include "mozilla/mscom/Utils.h"
 #include "mozilla/StaticPtr.h"
 #include "nsXULAppAPI.h"
 #include "Units.h"
 
 #if defined(__GNUC__) || defined(__clang__)
 // Inheriting from both XPCOM and MSCOM interfaces causes a lot of warnings
 // about virtual functions being hidden by each other. This is done by
 // design, so silence the warning.
 #  pragma GCC diagnostic ignored "-Woverloaded-virtual"
 #endif
 
 namespace mozilla {
 namespace a11y {
-class DocProxyAccessibleWrap;
+class DocRemoteAccessibleWrap;
 
 class AccessibleWrap : public LocalAccessible,
                        public ia2Accessible,
                        public ia2AccessibleComponent,
                        public ia2AccessibleHyperlink,
                        public ia2AccessibleValue {
  public:  // construction, destruction
   AccessibleWrap(nsIContent* aContent, DocAccessible* aDoc);
@@ -168,17 +168,17 @@ class AccessibleWrap : public LocalAcces
   /**
    * System caret support: update the Windows caret position.
    * The system caret works more universally than the MSAA caret
    * For example, Window-Eyes, JAWS, ZoomText and Windows Tablet Edition use it
    * We will use an invisible system caret.
    * Gecko is still responsible for drawing its own caret
    */
   void UpdateSystemCaretFor(LocalAccessible* aAccessible);
-  static void UpdateSystemCaretFor(ProxyAccessible* aProxy,
+  static void UpdateSystemCaretFor(RemoteAccessible* aProxy,
                                    const LayoutDeviceIntRect& aCaretRect);
 
   /**
    * Associate a COM object with this LocalAccessible so it will be disconnected
    * from remote clients when this LocalAccessible shuts down.
    * This should only be called with separate COM objects with a different
    * IUnknown to this AccessibleWrap; e.g. IAccessibleRelation.
    */
@@ -239,17 +239,17 @@ class AccessibleWrap : public LocalAcces
    * Find a remote accessible by the given child ID.
    */
   [[nodiscard]] already_AddRefed<IAccessible> GetRemoteIAccessibleFor(
       const VARIANT& aVarChild);
 
   /**
    * Return the wrapper for the document's proxy.
    */
-  DocProxyAccessibleWrap* DocProxyWrapper() const;
+  DocRemoteAccessibleWrap* DocProxyWrapper() const;
 
   /**
    * Creates ITypeInfo for LIBID_Accessibility if it's needed and returns it.
    */
   static ITypeInfo* GetTI(LCID lcid);
 
   static ITypeInfo* gTypeInfo;
 
@@ -305,17 +305,17 @@ class AccessibleWrap : public LocalAcces
     RefPtr<IHandlerControl> mCtrl;
   };
 
   static StaticAutoPtr<nsTArray<HandlerControllerData>> sHandlerControllers;
 
   nsTArray<RefPtr<IUnknown>> mAssociatedCOMObjectsForDisconnection;
 };
 
-static inline AccessibleWrap* WrapperFor(const ProxyAccessible* aProxy) {
+static inline AccessibleWrap* WrapperFor(const RemoteAccessible* aProxy) {
   return reinterpret_cast<AccessibleWrap*>(aProxy->GetWrapper());
 }
 
 }  // namespace a11y
 }  // namespace mozilla
 
 #ifdef XP_WIN
 // Undo the windows.h damage
--- a/accessible/windows/msaa/Platform.cpp
+++ b/accessible/windows/msaa/Platform.cpp
@@ -6,17 +6,17 @@
 
 #include "Platform.h"
 
 #include "AccEvent.h"
 #include "Compatibility.h"
 #include "HyperTextAccessibleWrap.h"
 #include "nsIWindowsRegKey.h"
 #include "nsWinUtils.h"
-#include "mozilla/a11y/ProxyAccessible.h"
+#include "mozilla/a11y/RemoteAccessible.h"
 #include "mozilla/mscom/ActivationContext.h"
 #include "mozilla/mscom/InterceptorLog.h"
 #include "mozilla/mscom/Registration.h"
 #include "mozilla/mscom/Utils.h"
 #include "mozilla/StaticPtr.h"
 #include "mozilla/WindowsVersion.h"
 #include "mozilla/WinHeaderOnlyUtils.h"
 #include "nsDirectoryServiceDefs.h"
@@ -63,32 +63,32 @@ void a11y::PlatformShutdown() {
   gRegAccTlb = nullptr;
   gRegMiscTlb = nullptr;
 
   if (gInstantiator) {
     gInstantiator = nullptr;
   }
 }
 
-void a11y::ProxyCreated(ProxyAccessible* aProxy, uint32_t aInterfaces) {
+void a11y::ProxyCreated(RemoteAccessible* aProxy, uint32_t aInterfaces) {
   AccessibleWrap* wrapper = nullptr;
   if (aInterfaces & Interfaces::DOCUMENT) {
-    wrapper = new DocProxyAccessibleWrap(aProxy);
+    wrapper = new DocRemoteAccessibleWrap(aProxy);
   } else if (aInterfaces & Interfaces::HYPERTEXT) {
-    wrapper = new HyperTextProxyAccessibleWrap(aProxy);
+    wrapper = new HyperTextRemoteAccessibleWrap(aProxy);
   } else {
-    wrapper = new ProxyAccessibleWrap(aProxy);
+    wrapper = new RemoteAccessibleWrap(aProxy);
   }
 
   wrapper->SetProxyInterfaces(aInterfaces);
   wrapper->AddRef();
   aProxy->SetWrapper(reinterpret_cast<uintptr_t>(wrapper));
 }
 
-void a11y::ProxyDestroyed(ProxyAccessible* aProxy) {
+void a11y::ProxyDestroyed(RemoteAccessible* aProxy) {
   AccessibleWrap* wrapper =
       reinterpret_cast<AccessibleWrap*>(aProxy->GetWrapper());
 
   // If aProxy is a document that was created, but
   // RecvPDocAccessibleConstructor failed then aProxy->GetWrapper() will be
   // null.
   if (!wrapper) return;
 
@@ -96,26 +96,26 @@ void a11y::ProxyDestroyed(ProxyAccessibl
     aProxy->AsDoc()->SetEmulatedWindowHandle(nullptr);
   }
 
   wrapper->Shutdown();
   aProxy->SetWrapper(0);
   wrapper->Release();
 }
 
-void a11y::ProxyEvent(ProxyAccessible* aTarget, uint32_t aEventType) {
+void a11y::ProxyEvent(RemoteAccessible* aTarget, uint32_t aEventType) {
   AccessibleWrap::FireWinEvent(WrapperFor(aTarget), aEventType);
 }
 
-void a11y::ProxyStateChangeEvent(ProxyAccessible* aTarget, uint64_t, bool) {
+void a11y::ProxyStateChangeEvent(RemoteAccessible* aTarget, uint64_t, bool) {
   AccessibleWrap::FireWinEvent(WrapperFor(aTarget),
                                nsIAccessibleEvent::EVENT_STATE_CHANGE);
 }
 
-void a11y::ProxyFocusEvent(ProxyAccessible* aTarget,
+void a11y::ProxyFocusEvent(RemoteAccessible* aTarget,
                            const LayoutDeviceIntRect& aCaretRect) {
   FocusManager* focusMgr = FocusMgr();
   if (focusMgr && focusMgr->FocusedAccessible()) {
     // This is a focus event from a remote document, but focus has moved out
     // of that document into the chrome since that event was sent. For example,
     // this can happen when choosing File menu -> New Tab. See bug 1471466.
     // Note that this does not handle the case where a focus event is sent from
     // one remote document, but focus moved into a second remote document
@@ -124,24 +124,24 @@ void a11y::ProxyFocusEvent(ProxyAccessib
     return;
   }
 
   AccessibleWrap::UpdateSystemCaretFor(aTarget, aCaretRect);
   AccessibleWrap::FireWinEvent(WrapperFor(aTarget),
                                nsIAccessibleEvent::EVENT_FOCUS);
 }
 
-void a11y::ProxyCaretMoveEvent(ProxyAccessible* aTarget,
+void a11y::ProxyCaretMoveEvent(RemoteAccessible* aTarget,
                                const LayoutDeviceIntRect& aCaretRect) {
   AccessibleWrap::UpdateSystemCaretFor(aTarget, aCaretRect);
   AccessibleWrap::FireWinEvent(WrapperFor(aTarget),
                                nsIAccessibleEvent::EVENT_TEXT_CARET_MOVED);
 }
 
-void a11y::ProxyTextChangeEvent(ProxyAccessible* aText, const nsString& aStr,
+void a11y::ProxyTextChangeEvent(RemoteAccessible* aText, const nsString& aStr,
                                 int32_t aStart, uint32_t aLen, bool aInsert,
                                 bool) {
   AccessibleWrap* wrapper = WrapperFor(aText);
   MOZ_ASSERT(wrapper);
   if (!wrapper) {
     return;
   }
 
@@ -159,25 +159,25 @@ void a11y::ProxyTextChangeEvent(ProxyAcc
     ia2AccessibleText::UpdateTextChangeData(text, aInsert, aStr, aStart, aLen);
   }
 
   uint32_t eventType = aInsert ? nsIAccessibleEvent::EVENT_TEXT_INSERTED
                                : nsIAccessibleEvent::EVENT_TEXT_REMOVED;
   AccessibleWrap::FireWinEvent(wrapper, eventType);
 }
 
-void a11y::ProxyShowHideEvent(ProxyAccessible* aTarget, ProxyAccessible*,
+void a11y::ProxyShowHideEvent(RemoteAccessible* aTarget, RemoteAccessible*,
                               bool aInsert, bool) {
   uint32_t event =
       aInsert ? nsIAccessibleEvent::EVENT_SHOW : nsIAccessibleEvent::EVENT_HIDE;
   AccessibleWrap* wrapper = WrapperFor(aTarget);
   AccessibleWrap::FireWinEvent(wrapper, event);
 }
 
-void a11y::ProxySelectionEvent(ProxyAccessible* aTarget, ProxyAccessible*,
+void a11y::ProxySelectionEvent(RemoteAccessible* aTarget, RemoteAccessible*,
                                uint32_t aType) {
   AccessibleWrap* wrapper = WrapperFor(aTarget);
   AccessibleWrap::FireWinEvent(wrapper, aType);
 }
 
 bool a11y::IsHandlerRegistered() {
   nsresult rv;
   nsCOMPtr<nsIWindowsRegKey> regKey =
--- a/accessible/windows/msaa/RootAccessibleWrap.cpp
+++ b/accessible/windows/msaa/RootAccessibleWrap.cpp
@@ -111,17 +111,17 @@ RootAccessibleWrap::accNavigate(
     return E_INVALIDARG;
   }
   if (IsDefunct()) {
     return CO_E_OBJNOTCONNECTED;
   }
 
   LocalAccessible* target = nullptr;
   // Get the document in the active tab.
-  ProxyAccessible* docProxy = GetPrimaryRemoteTopLevelContentDoc();
+  RemoteAccessible* docProxy = GetPrimaryRemoteTopLevelContentDoc();
   if (docProxy) {
     target = WrapperFor(docProxy);
   } else {
     // The base implementation could handle this, but we may as well
     // just handle it here.
     Relation rel = RelationByType(RelationType::EMBEDS);
     target = rel.Next();
   }
@@ -147,17 +147,17 @@ RootAccessibleWrap::get_accFocus(
     // when we're called by UIA clients; see bug 1424505.
     return hr;
   }
 
   // The base implementation reported no focus.
   // Focus might be in a remote document.
   // (The base implementation can't handle this.)
   // Get the document in the active tab.
-  ProxyAccessible* docProxy = GetPrimaryRemoteTopLevelContentDoc();
+  RemoteAccessible* docProxy = GetPrimaryRemoteTopLevelContentDoc();
   if (!docProxy) {
     return hr;
   }
   LocalAccessible* docAcc = WrapperFor(docProxy);
   if (!docAcc) {
     return E_FAIL;
   }
   RefPtr<IDispatch> docDisp = NativeAccessible(docAcc);
--- a/accessible/xpcom/nsAccessibleRelation.cpp
+++ b/accessible/xpcom/nsAccessibleRelation.cpp
@@ -19,17 +19,17 @@ nsAccessibleRelation::nsAccessibleRelati
   mTargets = do_CreateInstance(NS_ARRAY_CONTRACTID);
   LocalAccessible* targetAcc = nullptr;
   while ((targetAcc = aRel->Next())) {
     mTargets->AppendElement(static_cast<nsIAccessible*>(ToXPC(targetAcc)));
   }
 }
 
 nsAccessibleRelation::nsAccessibleRelation(
-    uint32_t aType, const nsTArray<ProxyAccessible*>* aTargets)
+    uint32_t aType, const nsTArray<RemoteAccessible*>* aTargets)
     : mType(aType) {
   mTargets = do_CreateInstance(NS_ARRAY_CONTRACTID);
   for (uint32_t idx = 0; idx < aTargets->Length(); ++idx) {
     mTargets->AppendElement(
         static_cast<nsIAccessible*>(ToXPC(aTargets->ElementAt(idx))));
   }
 }
 
--- a/accessible/xpcom/nsAccessibleRelation.h
+++ b/accessible/xpcom/nsAccessibleRelation.h
@@ -7,32 +7,32 @@
 #define _nsAccessibleRelation_H_
 
 #include "nsIAccessibleRelation.h"
 
 #include "nsCOMPtr.h"
 #include "nsTArray.h"
 #include "nsIMutableArray.h"
 #include "mozilla/Attributes.h"
-#include "mozilla/a11y/ProxyAccessible.h"
+#include "mozilla/a11y/RemoteAccessible.h"
 
 namespace mozilla {
 namespace a11y {
 
 class Relation;
 
 /**
  * Class represents an accessible relation.
  */
 class nsAccessibleRelation final : public nsIAccessibleRelation {
  public:
   nsAccessibleRelation(uint32_t aType, Relation* aRel);
 
   nsAccessibleRelation(uint32_t aType,
-                       const nsTArray<ProxyAccessible*>* aTargets);
+                       const nsTArray<RemoteAccessible*>* aTargets);
 
   NS_DECL_ISUPPORTS
   NS_DECL_NSIACCESSIBLERELATION
 
  private:
   nsAccessibleRelation();
   ~nsAccessibleRelation();
 
--- a/accessible/xpcom/xpcAccessible.cpp
+++ b/accessible/xpcom/xpcAccessible.cpp
@@ -43,17 +43,17 @@ xpcAccessible::GetNextSibling(nsIAccessi
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
   if (IntlGeneric().IsAccessible()) {
     nsresult rv = NS_OK;
     NS_IF_ADDREF(*aNextSibling = ToXPC(Intl()->GetSiblingAtOffset(1, &rv)));
     return rv;
   }
 
-  ProxyAccessible* proxy = IntlGeneric().AsProxy();
+  RemoteAccessible* proxy = IntlGeneric().AsProxy();
   NS_ENSURE_STATE(proxy);
 
   NS_IF_ADDREF(*aNextSibling = ToXPC(proxy->RemoteNextSibling()));
   return *aNextSibling ? NS_OK : NS_ERROR_FAILURE;
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetPreviousSibling(nsIAccessible** aPreviousSibling) {
@@ -63,17 +63,17 @@ xpcAccessible::GetPreviousSibling(nsIAcc
 
   if (IntlGeneric().IsAccessible()) {
     nsresult rv = NS_OK;
     NS_IF_ADDREF(*aPreviousSibling =
                      ToXPC(Intl()->GetSiblingAtOffset(-1, &rv)));
     return rv;
   }
 
-  ProxyAccessible* proxy = IntlGeneric().AsProxy();
+  RemoteAccessible* proxy = IntlGeneric().AsProxy();
   NS_ENSURE_STATE(proxy);
 
   NS_IF_ADDREF(*aPreviousSibling = ToXPC(proxy->RemotePrevSibling()));
   return *aPreviousSibling ? NS_OK : NS_ERROR_FAILURE;
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetFirstChild(nsIAccessible** aFirstChild) {
@@ -187,17 +187,17 @@ xpcAccessible::GetDOMNode(nsINode** aDOM
   nsCOMPtr<nsINode> node = Intl()->GetNode();
   node.forget(aDOMNode);
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetId(nsAString& aID) {
-  ProxyAccessible* proxy = IntlGeneric().AsProxy();
+  RemoteAccessible* proxy = IntlGeneric().AsProxy();
   if (!proxy) {
     return NS_ERROR_FAILURE;
   }
 
   nsString id;
   proxy->DOMNodeID(id);
   aID.Assign(id);
 
@@ -255,80 +255,80 @@ xpcAccessible::GetState(uint32_t* aState
 
 NS_IMETHODIMP
 xpcAccessible::GetName(nsAString& aName) {
   aName.Truncate();
 
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
   nsAutoString name;
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
     proxy->Name(name);
   } else {
     Intl()->Name(name);
   }
 
   aName.Assign(name);
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetDescription(nsAString& aDescription) {
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
   nsAutoString desc;
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
     proxy->Description(desc);
   } else {
     Intl()->Description(desc);
   }
 
   aDescription.Assign(desc);
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetLanguage(nsAString& aLanguage) {
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
   nsAutoString lang;
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
     proxy->Language(lang);
   } else {
     Intl()->Language(lang);
   }
 
   aLanguage.Assign(lang);
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetValue(nsAString& aValue) {
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
   nsAutoString value;
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
     proxy->Value(value);
   } else {
     Intl()->Value(value);
   }
 
   aValue.Assign(value);
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetHelp(nsAString& aHelp) {
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
   nsAutoString help;
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     proxy->Help(help);
 #endif
   } else {
     Intl()->Help(help);
   }
@@ -339,17 +339,17 @@ xpcAccessible::GetHelp(nsAString& aHelp)
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetAccessKey(nsAString& aAccessKey) {
   aAccessKey.Truncate();
 
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     proxy->AccessKey().ToString(aAccessKey);
 #endif
   } else {
     Intl()->AccessKey().ToString(aAccessKey);
   }
@@ -357,17 +357,17 @@ xpcAccessible::GetAccessKey(nsAString& a
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetKeyboardShortcut(nsAString& aKeyBinding) {
   aKeyBinding.Truncate();
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     proxy->KeyboardShortcut().ToString(aKeyBinding);
 #endif
   } else {
     Intl()->KeyboardShortcut().ToString(aKeyBinding);
   }
@@ -384,17 +384,17 @@ xpcAccessible::GetAttributes(nsIPersiste
   }
 
   if (LocalAccessible* acc = Intl()) {
     nsCOMPtr<nsIPersistentProperties> attributes = acc->Attributes();
     attributes.swap(*aAttributes);
     return NS_OK;
   }
 
-  ProxyAccessible* proxy = IntlGeneric().AsProxy();
+  RemoteAccessible* proxy = IntlGeneric().AsProxy();
   AutoTArray<Attribute, 10> attrs;
   proxy->Attributes(&attrs);
 
   RefPtr<nsPersistentProperties> props = new nsPersistentProperties();
   uint32_t attrCount = attrs.Length();
   nsAutoString unused;
   for (uint32_t i = 0; i < attrCount; i++) {
     props->SetStringProperty(attrs[i].Name(), attrs[i].Value(), unused);
@@ -516,18 +516,18 @@ xpcAccessible::GetRelationByType(uint32_
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
   if (IntlGeneric().IsAccessible()) {
     Relation rel = Intl()->RelationByType(static_cast<RelationType>(aType));
     NS_ADDREF(*aRelation = new nsAccessibleRelation(aType, &rel));
     return NS_OK;
   }
 
-  ProxyAccessible* proxy = IntlGeneric().AsProxy();
-  nsTArray<ProxyAccessible*> targets =
+  RemoteAccessible* proxy = IntlGeneric().AsProxy();
+  nsTArray<RemoteAccessible*> targets =
       proxy->RelationByType(static_cast<RelationType>(aType));
   NS_ADDREF(*aRelation = new nsAccessibleRelation(aType, &targets));
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetRelations(nsIArray** aRelations) {
@@ -579,17 +579,17 @@ xpcAccessible::GetRelations(nsIArray** a
 
 NS_IMETHODIMP
 xpcAccessible::GetFocusedChild(nsIAccessible** aChild) {
   NS_ENSURE_ARG_POINTER(aChild);
   *aChild = nullptr;
 
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     NS_IF_ADDREF(*aChild = ToXPC(proxy->FocusedChild()));
 #endif
   } else {
     NS_IF_ADDREF(*aChild = ToXPC(Intl()->FocusedChild()));
   }
@@ -640,83 +640,83 @@ xpcAccessible::GetDeepestChildAtPointInP
                    aX, aY, LocalAccessible::eDeepestChild)));
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::SetSelected(bool aSelect) {
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     proxy->SetSelected(aSelect);
 #endif
   } else {
     Intl()->SetSelected(aSelect);
   }
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::TakeSelection() {
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     proxy->TakeSelection();
 #endif
   } else {
     Intl()->TakeSelection();
   }
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::TakeFocus() {
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
     proxy->TakeFocus();
   } else {
     Intl()->TakeFocus();
   }
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetActionCount(uint8_t* aActionCount) {
   NS_ENSURE_ARG_POINTER(aActionCount);
   *aActionCount = 0;
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     *aActionCount = proxy->ActionCount();
 #endif
   } else {
     *aActionCount = Intl()->ActionCount();
   }
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetActionName(uint8_t aIndex, nsAString& aName) {
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     nsString name;
     proxy->ActionNameAt(aIndex, name);
     aName.Assign(name);
 #endif
   } else {
@@ -727,17 +727,17 @@ xpcAccessible::GetActionName(uint8_t aIn
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::GetActionDescription(uint8_t aIndex, nsAString& aDescription) {
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     nsString description;
     proxy->ActionDescriptionAt(aIndex, description);
     aDescription.Assign(description);
 #endif
   } else {
@@ -748,32 +748,32 @@ xpcAccessible::GetActionDescription(uint
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::DoAction(uint8_t aIndex) {
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     return proxy->DoAction(aIndex) ? NS_OK : NS_ERROR_INVALID_ARG;
 #endif
   } else {
     return Intl()->DoAction(aIndex) ? NS_OK : NS_ERROR_INVALID_ARG;
   }
 }
 
 NS_IMETHODIMP
 xpcAccessible::ScrollTo(uint32_t aHow) {
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     proxy->ScrollTo(aHow);
 #endif
   } else {
     RefPtr<LocalAccessible> intl = Intl();
     intl->ScrollTo(aHow);
@@ -781,32 +781,32 @@ xpcAccessible::ScrollTo(uint32_t aHow) {
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::ScrollToPoint(uint32_t aCoordinateType, int32_t aX, int32_t aY) {
   if (IntlGeneric().IsNull()) return NS_ERROR_FAILURE;
 
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     proxy->ScrollToPoint(aCoordinateType, aX, aY);
 #endif
   } else {
     Intl()->ScrollToPoint(aCoordinateType, aX, aY);
   }
 
   return NS_OK;
 }
 
 NS_IMETHODIMP
 xpcAccessible::Announce(const nsAString& aAnnouncement, uint16_t aPriority) {
-  if (ProxyAccessible* proxy = IntlGeneric().AsProxy()) {
+  if (RemoteAccessible* proxy = IntlGeneric().AsProxy()) {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     nsString announcement(aAnnouncement);
     proxy->Announce(announcement, aPriority);
 #endif
   } else {
     Intl()->Announce(aAnnouncement, aPriority);
--- a/accessible/xpcom/xpcAccessibleDocument.cpp
+++ b/accessible/xpcom/xpcAccessibleDocument.cpp
@@ -172,17 +172,17 @@ xpcAccessibleGeneric* xpcAccessibleDocum
     xpcAcc = new xpcAccessibleGeneric(aAccessible);
   }
 
   mCache.Put(aAccessible, xpcAcc);
   return xpcAcc;
 }
 
 xpcAccessibleGeneric* xpcAccessibleDocument::GetXPCAccessible(
-    ProxyAccessible* aProxy) {
+    RemoteAccessible* aProxy) {
   MOZ_ASSERT(mRemote);
   MOZ_ASSERT(aProxy->Document() == mIntl.AsProxy());
   if (aProxy->IsDoc()) {
     return this;
   }
 
   xpcAccessibleGeneric* acc = mCache.Get(aProxy);
   if (acc) {
--- a/accessible/xpcom/xpcAccessibleDocument.h
+++ b/accessible/xpcom/xpcAccessibleDocument.h
@@ -23,17 +23,17 @@ namespace a11y {
 class xpcAccessibleDocument : public xpcAccessibleHyperText,
                               public nsIAccessibleDocument {
  public:
   explicit xpcAccessibleDocument(DocAccessible* aIntl)
       : xpcAccessibleHyperText(aIntl),
         mCache(kDefaultCacheLength),
         mRemote(false) {}
 
-  xpcAccessibleDocument(ProxyAccessible* aProxy, uint32_t aInterfaces)
+  xpcAccessibleDocument(RemoteAccessible* aProxy, uint32_t aInterfaces)
       : xpcAccessibleHyperText(aProxy, aInterfaces),
         mCache(kDefaultCacheLength),
         mRemote(true) {}
 
   NS_DECL_ISUPPORTS_INHERITED
 
   // nsIAccessibleDocument
   NS_IMETHOD GetURL(nsAString& aURL) final;
@@ -47,17 +47,17 @@ class xpcAccessibleDocument : public xpc
   NS_IMETHOD GetChildDocumentAt(uint32_t aIndex,
                                 nsIAccessibleDocument** aDocument) final;
   NS_IMETHOD GetVirtualCursor(nsIAccessiblePivot** aVirtualCursor) final;
 
   /**
    * Return XPCOM wrapper for the internal accessible.
    */
   xpcAccessibleGeneric* GetAccessible(LocalAccessible* aAccessible);
-  xpcAccessibleGeneric* GetXPCAccessible(ProxyAccessible* aProxy);
+  xpcAccessibleGeneric* GetXPCAccessible(RemoteAccessible* aProxy);
 
   virtual void Shutdown() override;
 
  protected:
   virtual ~xpcAccessibleDocument() {}
 
  private:
   DocAccessible* Intl() {
@@ -77,34 +77,34 @@ class xpcAccessibleDocument : public xpc
 
     mCache.Remove(aAccessible);
     if (mCache.Count() == 0 && mRefCnt == 1) {
       GetAccService()->RemoveFromXPCDocumentCache(
           mIntl.AsAccessible()->AsDoc());
     }
   }
 
-  void NotifyOfShutdown(ProxyAccessible* aProxy) {
+  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());
     }
   }
 
   friend class DocManager;
   friend class DocAccessible;
-  friend class ProxyAccessible;
-  friend class ProxyAccessibleBase<ProxyAccessible>;
+  friend class RemoteAccessible;
+  friend class RemoteAccessibleBase<RemoteAccessible>;
   friend class xpcAccessibleGeneric;
 
   xpcAccessibleDocument(const xpcAccessibleDocument&) = delete;
   xpcAccessibleDocument& operator=(const xpcAccessibleDocument&) = delete;
 
   nsDataHashtable<nsPtrHashKey<const void>, xpcAccessibleGeneric*> mCache;
   bool mRemote;
 };
--- a/accessible/xpcom/xpcAccessibleGeneric.cpp
+++ b/accessible/xpcom/xpcAccessibleGeneric.cpp
@@ -35,17 +35,17 @@ xpcAccessibleGeneric::~xpcAccessibleGene
   xpcAccessibleDocument* xpcDoc = nullptr;
   if (mIntl.IsAccessible()) {
     LocalAccessible* acc = mIntl.AsAccessible();
     if (!acc->IsDoc() && !acc->IsApplication()) {
       xpcDoc = GetAccService()->GetXPCDocument(acc->Document());
       xpcDoc->NotifyOfShutdown(acc);
     }
   } else {
-    ProxyAccessible* proxy = mIntl.AsProxy();
+    RemoteAccessible* proxy = mIntl.AsProxy();
     if (!proxy->IsDoc()) {
       xpcDoc = GetAccService()->GetXPCDocument(proxy->Document());
       xpcDoc->NotifyOfShutdown(proxy);
     }
   }
 }
 
 ////////////////////////////////////////////////////////////////////////////////
--- a/accessible/xpcom/xpcAccessibleGeneric.h
+++ b/accessible/xpcom/xpcAccessibleGeneric.h
@@ -28,17 +28,17 @@ class xpcAccessibleGeneric : public xpcA
  public:
   explicit xpcAccessibleGeneric(LocalAccessible* aInternal)
       : mIntl(aInternal), mSupportedIfaces(0) {
     if (aInternal->IsSelect()) mSupportedIfaces |= eSelectable;
     if (aInternal->HasNumericValue()) mSupportedIfaces |= eValue;
     if (aInternal->IsLink()) mSupportedIfaces |= eHyperLink;
   }
 
-  xpcAccessibleGeneric(ProxyAccessible* aProxy, uint8_t aInterfaces)
+  xpcAccessibleGeneric(RemoteAccessible* aProxy, uint8_t aInterfaces)
       : mIntl(aProxy), mSupportedIfaces(aInterfaces) {}
 
   NS_DECL_ISUPPORTS
 
   // nsIAccessible
   LocalAccessible* ToInternalAccessible() const final;
 
   // xpcAccessibleGeneric
--- a/accessible/xpcom/xpcAccessibleHyperText.cpp
+++ b/accessible/xpcom/xpcAccessibleHyperText.cpp
@@ -710,17 +710,17 @@ xpcAccessibleHyperText::GetLinkIndex(nsI
   if (LocalAccessible* accLink = xpcLink->ToInternalAccessible()) {
     *aIndex = Intl()->LinkIndexOf(accLink);
   } else {
 #if defined(XP_WIN)
     return NS_ERROR_NOT_IMPLEMENTED;
 #else
     xpcAccessibleHyperText* linkHyperText =
         static_cast<xpcAccessibleHyperText*>(xpcLink.get());
-    ProxyAccessible* proxyLink = linkHyperText->mIntl.AsProxy();
+    RemoteAccessible* proxyLink = linkHyperText->mIntl.AsProxy();
     if (proxyLink) {
       *aIndex = mIntl.AsProxy()->LinkIndexOf(proxyLink);
     }
 #endif
   }
 
   return NS_OK;
 }
--- a/accessible/xpcom/xpcAccessibleHyperText.h
+++ b/accessible/xpcom/xpcAccessibleHyperText.h
@@ -24,17 +24,17 @@ class xpcAccessibleHyperText : public xp
  public:
   explicit xpcAccessibleHyperText(LocalAccessible* aIntl)
       : xpcAccessibleGeneric(aIntl) {
     if (aIntl->IsHyperText() && aIntl->AsHyperText()->IsTextRole()) {
       mSupportedIfaces |= eText;
     }
   }
 
-  xpcAccessibleHyperText(ProxyAccessible* aProxy, uint32_t aInterfaces)
+  xpcAccessibleHyperText(RemoteAccessible* aProxy, uint32_t aInterfaces)
       : xpcAccessibleGeneric(aProxy, aInterfaces) {
     mSupportedIfaces |= eText;
   }
 
   NS_DECL_ISUPPORTS_INHERITED
 
   NS_DECL_NSIACCESSIBLETEXT
   NS_DECL_NSIACCESSIBLEHYPERTEXT
--- a/accessible/xpcom/xpcAccessibleImage.h
+++ b/accessible/xpcom/xpcAccessibleImage.h
@@ -15,17 +15,17 @@ namespace mozilla {
 namespace a11y {
 
 class xpcAccessibleImage : public xpcAccessibleGeneric,
                            public nsIAccessibleImage {
  public:
   explicit xpcAccessibleImage(LocalAccessible* aIntl)
       : xpcAccessibleGeneric(aIntl) {}
 
-  xpcAccessibleImage(ProxyAccessible* aProxy, uint32_t aInterfaces)
+  xpcAccessibleImage(RemoteAccessible* aProxy, uint32_t aInterfaces)
       : xpcAccessibleGeneric(aProxy, aInterfaces) {}
 
   NS_DECL_ISUPPORTS_INHERITED
 
   NS_IMETHOD GetImagePosition(uint32_t aCoordType, int32_t* aX,
                               int32_t* aY) final;
   NS_IMETHOD GetImageSize(int32_t* aWidth, int32_t* aHeight) final;
 
--- a/accessible/xpcom/xpcAccessibleTable.h
+++ b/accessible/xpcom/xpcAccessibleTable.h
@@ -17,17 +17,17 @@ namespace a11y {
  * XPCOM wrapper around TableAccessible class.
  */
 class xpcAccessibleTable : public xpcAccessibleHyperText,
                            public nsIAccessibleTable {
  public:
   explicit xpcAccessibleTable(LocalAccessible* aIntl)
       : xpcAccessibleHyperText(aIntl) {}
 
-  xpcAccessibleTable(ProxyAccessible* aProxy, uint32_t aInterfaces)
+  xpcAccessibleTable(RemoteAccessible* aProxy, uint32_t aInterfaces)
       : xpcAccessibleHyperText(aProxy, aInterfaces) {}
 
   NS_DECL_ISUPPORTS_INHERITED
 
   // nsIAccessibleTable
   NS_IMETHOD GetCaption(nsIAccessible** aCaption) final;
   NS_IMETHOD GetSummary(nsAString& aSummary) final;
   NS_IMETHOD GetColumnCount(int32_t* aColumnCount) final;
--- a/accessible/xpcom/xpcAccessibleTableCell.h
+++ b/accessible/xpcom/xpcAccessibleTableCell.h
@@ -18,17 +18,17 @@ namespace a11y {
  * XPCOM wrapper around TableAccessibleCell class.
  */
 class xpcAccessibleTableCell : public xpcAccessibleHyperText,
                                public nsIAccessibleTableCell {
  public:
   explicit xpcAccessibleTableCell(LocalAccessible* aIntl)
       : xpcAccessibleHyperText(aIntl) {}
 
-  xpcAccessibleTableCell(ProxyAccessible* aProxy, uint32_t aInterfaces)
+  xpcAccessibleTableCell(RemoteAccessible* aProxy, uint32_t aInterfaces)
       : xpcAccessibleHyperText(aProxy, aInterfaces) {}
 
   NS_DECL_ISUPPORTS_INHERITED
 
   // nsIAccessibleTableCell
   NS_IMETHOD GetTable(nsIAccessibleTable** aTable) final;
   NS_IMETHOD GetColumnIndex(int32_t* aColIdx) final;
   NS_IMETHOD GetRowIndex(int32_t* aRowIdx) final;
--- a/docshell/base/BrowsingContext.cpp
+++ b/docshell/base/BrowsingContext.cpp
@@ -6,17 +6,17 @@
 
 #include "mozilla/dom/BrowsingContext.h"
 
 #include "ipc/IPCMessageUtils.h"
 
 #ifdef ACCESSIBILITY
 #  include "mozilla/a11y/DocAccessibleParent.h"
 #  include "mozilla/a11y/Platform.h"
-#  include "mozilla/a11y/ProxyAccessibleBase.h"
+#  include "mozilla/a11y/RemoteAccessibleBase.h"
 #  include "nsAccessibilityService.h"
 #  if defined(XP_WIN)
 #    include "mozilla/a11y/AccessibleWrap.h"
 #    include "mozilla/a11y/Compatibility.h"
 #    include "mozilla/a11y/nsWinUtils.h"
 #  endif
 #endif
 #include "mozilla/dom/CanonicalBrowsingContext.h"
--- a/dom/ipc/BrowserBridgeChild.cpp
+++ b/dom/ipc/BrowserBridgeChild.cpp
@@ -1,17 +1,17 @@
 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* vim: set ts=8 sts=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/. */
 
 #ifdef ACCESSIBILITY
 #  ifdef XP_WIN
-#    include "mozilla/a11y/ProxyAccessible.h"
+#    include "mozilla/a11y/RemoteAccessible.h"
 #    include "mozilla/a11y/ProxyWrappers.h"
 #  endif
 #  include "mozilla/a11y/DocAccessible.h"
 #  include "mozilla/a11y/DocManager.h"
 #  include "mozilla/a11y/OuterDocAccessible.h"
 #endif
 #include "mozilla/dom/BrowserBridgeChild.h"
 #include "mozilla/dom/BrowserBridgeHost.h"
@@ -151,17 +151,17 @@ BrowserBridgeChild::RecvSetEmbeddedDocAc
     const a11y::IDispatchHolder& aCOMProxy) {
 #if defined(ACCESSIBILITY) && defined(XP_WIN)
   MOZ_ASSERT(!aCOMProxy.IsNull());
   if (mEmbeddedDocAccessible) {
     mEmbeddedDocAccessible->Shutdown();
   }
   RefPtr<IDispatch> comProxy(aCOMProxy.Get());
   mEmbeddedDocAccessible =
-      new a11y::RemoteIframeDocProxyAccessibleWrap(comProxy);
+      new a11y::RemoteIframeDocRemoteAccessibleWrap(comProxy);
 #endif
   return IPC_OK();
 }
 
 mozilla::ipc::IPCResult BrowserBridgeChild::RecvMaybeFireEmbedderLoadEvents(
     EmbedderElementEventType aFireEventAtEmbeddingElement) {
   RefPtr<Element> owner = mFrameLoader->GetOwnerContent();
   if (!owner) {
--- a/dom/ipc/BrowserBridgeChild.h
+++ b/dom/ipc/BrowserBridgeChild.h
@@ -9,17 +9,17 @@
 
 #include "mozilla/dom/PBrowserBridgeChild.h"
 #include "mozilla/dom/BrowserChild.h"
 #include "mozilla/dom/ipc/IdType.h"
 
 namespace mozilla {
 
 namespace a11y {
-class RemoteIframeDocProxyAccessibleWrap;
+class RemoteIframeDocRemoteAccessibleWrap;
 }
 
 namespace dom {
 class BrowsingContext;
 class ContentChild;
 class BrowserBridgeHost;
 
 /**
@@ -53,17 +53,17 @@ class BrowserBridgeChild : public PBrows
 
   void Deactivate(bool aWindowLowering, uint64_t aActionId);
 
   void SetIsUnderHiddenEmbedderElement(bool aIsUnderHiddenEmbedderElement);
 
   already_AddRefed<BrowserBridgeHost> FinishInit(nsFrameLoader* aFrameLoader);
 
 #if defined(ACCESSIBILITY) && defined(XP_WIN)
-  a11y::RemoteIframeDocProxyAccessibleWrap* GetEmbeddedDocAccessible() {
+  a11y::RemoteIframeDocRemoteAccessibleWrap* GetEmbeddedDocAccessible() {
     return mEmbeddedDocAccessible;
   }
 #endif
 
   static BrowserBridgeChild* GetFrom(nsFrameLoader* aFrameLoader);
 
   static BrowserBridgeChild* GetFrom(nsIContent* aContent);
 
@@ -106,16 +106,16 @@ class BrowserBridgeChild : public PBrows
   void UnblockOwnerDocsLoadEvent();
 
   TabId mId;
   LayersId mLayersId;
   bool mHadInitialLoad = false;
   RefPtr<nsFrameLoader> mFrameLoader;
   RefPtr<BrowsingContext> mBrowsingContext;
 #if defined(ACCESSIBILITY) && defined(XP_WIN)
-  RefPtr<a11y::RemoteIframeDocProxyAccessibleWrap> mEmbeddedDocAccessible;
+  RefPtr<a11y::RemoteIframeDocRemoteAccessibleWrap> mEmbeddedDocAccessible;
 #endif
 };
 
 }  // namespace dom
 }  // namespace mozilla
 
 #endif  // !defined(mozilla_dom_BrowserBridgeParent_h)
--- a/dom/ipc/BrowserParent.cpp
+++ b/dom/ipc/BrowserParent.cpp
@@ -6,17 +6,17 @@
 
 #include "base/basictypes.h"
 
 #include "BrowserParent.h"
 
 #ifdef ACCESSIBILITY
 #  include "mozilla/a11y/DocAccessibleParent.h"
 #  include "mozilla/a11y/Platform.h"
-#  include "mozilla/a11y/ProxyAccessibleBase.h"
+#  include "mozilla/a11y/RemoteAccessibleBase.h"
 #  include "nsAccessibilityService.h"
 #endif
 #include "mozilla/Components.h"
 #include "mozilla/dom/BrowserHost.h"
 #include "mozilla/dom/BrowsingContextGroup.h"
 #include "mozilla/dom/CancelContentJSOptionsBinding.h"
 #include "mozilla/dom/ChromeMessageSender.h"
 #include "mozilla/dom/ContentParent.h"