Backed out 3 changesets (bug 1354077) for assertions in AccessibleWrap.cpp a=backout CLOSED TREE
authorWes Kocher <wkocher@mozilla.com>
Mon, 12 Jun 2017 16:54:10 -0700
changeset 412312 ec779d81487d
parent 412311 b1940873102d
child 412313 3f431be7899b
push id7566
push usermtabara@mozilla.com
push dateWed, 02 Aug 2017 08:25:16 +0000
treeherdermozilla-beta@86913f512c3c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbackout
bugs1354077
milestone56.0a1
backs out1380fe0f701b
2b5602bd352a
a0fc3a1a9122
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
Backed out 3 changesets (bug 1354077) for assertions in AccessibleWrap.cpp a=backout CLOSED TREE Backed out changeset 1380fe0f701b (bug 1354077) Backed out changeset 2b5602bd352a (bug 1354077) Backed out changeset a0fc3a1a9122 (bug 1354077) MozReview-Commit-ID: ABHV3evXKrG
accessible/ipc/win/IAccessible32.manifest
accessible/ipc/win/IAccessible64.manifest
accessible/ipc/win/PlatformChild.cpp
accessible/ipc/win/PlatformChild.h
accessible/ipc/win/moz.build
accessible/windows/msaa/Platform.cpp
ipc/mscom/ActivationContext.cpp
ipc/mscom/ActivationContext.h
ipc/mscom/Registration.cpp
ipc/mscom/Utils.cpp
ipc/mscom/Utils.h
toolkit/library/xulrunner.rc
deleted file mode 100644
--- a/accessible/ipc/win/IAccessible32.manifest
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-  <assemblyIdentity type="win32" name="Mozilla.Firefox.xul" version="1.0.0.0" />
-  <file name="xul.dll" />
-  <comInterfaceExternalProxyStub
-      iid="{618736E0-3C3D-11CF-810C-00AA00389B71}"
-      proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"
-      name="IAccessible"
-      tlbid="{1EA4DBF0-3C3B-11CF-810C-00AA00389B71}"
-  />
-</assembly>
deleted file mode 100644
--- a/accessible/ipc/win/IAccessible64.manifest
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-  <assemblyIdentity type="win32" name="Mozilla.Firefox.xul" version="1.0.0.0" />
-  <file name="xul.dll" />
-  <comInterfaceExternalProxyStub
-      iid="{618736E0-3C3D-11CF-810C-00AA00389B71}"
-      proxyStubClsid32="{03022430-ABC4-11D0-BDE2-00AA001A1953}"
-      name="IAccessible"
-  />
-</assembly>
--- a/accessible/ipc/win/PlatformChild.cpp
+++ b/accessible/ipc/win/PlatformChild.cpp
@@ -2,17 +2,16 @@
 /* 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/PlatformChild.h"
 #include "mozilla/mscom/EnsureMTA.h"
 #include "mozilla/mscom/InterceptorLog.h"
-#include "mozilla/WindowsVersion.h"
 
 #include "Accessible2.h"
 #include "Accessible2_2.h"
 #include "AccessibleHypertext2.h"
 #include "AccessibleTableCell.h"
 
 #include "AccessibleHypertext2_i.c"
 
@@ -44,41 +43,16 @@ static const mozilla::mscom::ArrayData s
 // we intend to instantiate them. Therefore RegisterProxy() must be called
 // via EnsureMTA.
 PlatformChild::PlatformChild()
   : mAccTypelib(mozilla::mscom::RegisterTypelib(L"oleacc.dll",
         mozilla::mscom::RegistrationFlags::eUseSystemDirectory))
   , mMiscTypelib(mozilla::mscom::RegisterTypelib(L"Accessible.tlb"))
   , mSdnTypelib(mozilla::mscom::RegisterTypelib(L"AccessibleMarshal.dll"))
 {
-  // The manifest for 32-bit Windows is embedded with resource ID 32.
-  // The manifest for 64-bit Windows is embedded with resource ID 64.
-  // Beginning with Windows 10 Creators Update, 32-bit builds use the 64-bit
-  // manifest.
-  WORD actCtxResourceId;
-#if defined(HAVE_64BIT_BUILD)
-  actCtxResourceId = 64;
-#else
-  if (IsWin10CreatorsUpdateOrLater()) {
-    actCtxResourceId = 64;
-  } else {
-    actCtxResourceId = 32;
-  }
-#endif
-
-  mozilla::mscom::ActivationContext actCtx(actCtxResourceId);
-
-  mActCtxMain.reset(new mozilla::mscom::ActivationContextRegion(actCtx));
-
-  mozilla::mscom::MTADeletePtr<mozilla::mscom::ActivationContextRegion> tmpActCtxMTA;
-  mozilla::mscom::EnsureMTA([&actCtx, &tmpActCtxMTA]() -> void {
-    tmpActCtxMTA.reset(new mozilla::mscom::ActivationContextRegion(Move(actCtx)));
-  });
-  mActCtxMTA = Move(tmpActCtxMTA);
-
   mozilla::mscom::InterceptorLog::Init();
   mozilla::mscom::RegisterArrayData(sPlatformChildArrayData);
 
 
   UniquePtr<mozilla::mscom::RegisteredProxy> customProxy;
   mozilla::mscom::EnsureMTA([&customProxy]() -> void {
     customProxy = Move(mozilla::mscom::RegisterProxy());
   });
--- a/accessible/ipc/win/PlatformChild.h
+++ b/accessible/ipc/win/PlatformChild.h
@@ -2,36 +2,32 @@
 /* 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_PlatformChild_h
 #define mozilla_a11y_PlatformChild_h
 
-#include "mozilla/mscom/ActivationContext.h"
-#include "mozilla/mscom/Ptr.h"
 #include "mozilla/mscom/Registration.h"
 
 namespace mozilla {
 namespace a11y {
 
 class PlatformChild
 {
 public:
   PlatformChild();
 
   PlatformChild(PlatformChild&) = delete;
   PlatformChild(PlatformChild&&) = delete;
   PlatformChild& operator=(PlatformChild&) = delete;
   PlatformChild& operator=(PlatformChild&&) = delete;
 
 private:
-  UniquePtr<mozilla::mscom::ActivationContextRegion> mActCtxMain;
-  mscom::MTADeletePtr<mozilla::mscom::ActivationContextRegion> mActCtxMTA;
   UniquePtr<mozilla::mscom::RegisteredProxy> mCustomProxy;
   UniquePtr<mozilla::mscom::RegisteredProxy> mIA2Proxy;
   UniquePtr<mozilla::mscom::RegisteredProxy> mAccTypelib;
   UniquePtr<mozilla::mscom::RegisteredProxy> mMiscTypelib;
   UniquePtr<mozilla::mscom::RegisteredProxy> mSdnTypelib;
 };
 
 } // namespace mozilla
--- a/accessible/ipc/win/moz.build
+++ b/accessible/ipc/win/moz.build
@@ -8,31 +8,19 @@ if CONFIG['COMPILE_ENVIRONMENT'] and CON
     DIRS += [
         'handler',
         'typelib',
     ]
 
 # With --disable-accessibility, we need to compile PDocAccessible.ipdl (which
 # also depends on COMPtrTypes.h), but not the C++.
 IPDL_SOURCES += ['PDocAccessible.ipdl']
-
-EXPORTS.mozilla.a11y += [
-    'COMPtrTypes.h',
-]
+EXPORTS.mozilla.a11y += ['COMPtrTypes.h']
 
 if CONFIG['ACCESSIBILITY']:
-    if not CONFIG['HAVE_64BIT_BUILD']:
-        EXPORTS += [
-            'IAccessible32.manifest',
-        ]
-
-    EXPORTS += [
-        'IAccessible64.manifest',
-    ]
-
     EXPORTS.mozilla.a11y += [
         'DocAccessibleChild.h',
         'HandlerProvider.h',
         'PlatformChild.h',
         'ProxyAccessible.h'
     ]
 
     SOURCES += [
--- a/accessible/windows/msaa/Platform.cpp
+++ b/accessible/windows/msaa/Platform.cpp
@@ -8,56 +8,38 @@
 
 #include "AccEvent.h"
 #include "Compatibility.h"
 #include "HyperTextAccessibleWrap.h"
 #include "ia2AccessibleText.h"
 #include "nsIXULRuntime.h"
 #include "nsWinUtils.h"
 #include "mozilla/a11y/ProxyAccessible.h"
-#include "mozilla/mscom/ActivationContext.h"
 #include "mozilla/mscom/InterceptorLog.h"
 #include "mozilla/mscom/Registration.h"
 #include "mozilla/StaticPtr.h"
-#include "mozilla/WindowsVersion.h"
 #include "ProxyWrappers.h"
 
 using namespace mozilla;
 using namespace mozilla::a11y;
 using namespace mozilla::mscom;
 
 static StaticAutoPtr<RegisteredProxy> gRegCustomProxy;
 static StaticAutoPtr<RegisteredProxy> gRegProxy;
 static StaticAutoPtr<RegisteredProxy> gRegAccTlb;
 static StaticAutoPtr<RegisteredProxy> gRegMiscTlb;
-static StaticAutoPtr<ActivationContextRegion> gActCtxRgn;
 
 void
 a11y::PlatformInit()
 {
   Compatibility::Init();
 
   nsWinUtils::MaybeStartWindowEmulation();
   ia2AccessibleText::InitTextChangeData();
   if (BrowserTabsRemoteAutostart()) {
-    // The manifest for 32-bit Windows is embedded with resource ID 32.
-    // The manifest for 64-bit Windows is embedded with resource ID 64.
-    // Beginning with Windows 10 Creators Update, 32-bit builds use the 64-bit
-    // manifest.
-    DWORD actCtxResourceId;
-#if defined(HAVE_64BIT_BUILD)
-    actCtxResourceId = 64;
-#else
-    if (IsWin10CreatorsUpdateOrLater()) {
-      actCtxResourceId = 64;
-    } else {
-      actCtxResourceId = 32;
-    }
-#endif
-    gActCtxRgn = new ActivationContextRegion(actCtxResourceId);
     mscom::InterceptorLog::Init();
     UniquePtr<RegisteredProxy> regCustomProxy(
         mscom::RegisterProxy());
     gRegCustomProxy = regCustomProxy.release();
     UniquePtr<RegisteredProxy> regProxy(
         mscom::RegisterProxy(L"ia2marshal.dll"));
     gRegProxy = regProxy.release();
     UniquePtr<RegisteredProxy> regAccTlb(
@@ -75,17 +57,16 @@ a11y::PlatformShutdown()
 {
   ::DestroyCaret();
 
   nsWinUtils::ShutdownWindowEmulation();
   gRegCustomProxy = nullptr;
   gRegProxy = nullptr;
   gRegAccTlb = nullptr;
   gRegMiscTlb = nullptr;
-  gActCtxRgn = nullptr;
 }
 
 void
 a11y::ProxyCreated(ProxyAccessible* aProxy, uint32_t aInterfaces)
 {
   AccessibleWrap* wrapper = nullptr;
   if (aInterfaces & Interfaces::DOCUMENT) {
     wrapper = new DocProxyAccessibleWrap(aProxy);
--- a/ipc/mscom/ActivationContext.cpp
+++ b/ipc/mscom/ActivationContext.cpp
@@ -3,129 +3,44 @@
 /* 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/mscom/ActivationContext.h"
 
 #include "mozilla/Assertions.h"
 #include "mozilla/DebugOnly.h"
-#include "mozilla/mscom/Utils.h"
 
 namespace mozilla {
 namespace mscom {
 
-ActivationContext::ActivationContext(WORD aResourceId)
-  : ActivationContext(reinterpret_cast<HMODULE>(GetContainingModuleHandle()),
-                      aResourceId)
-{
-}
-
-ActivationContext::ActivationContext(HMODULE aLoadFromModule, WORD aResourceId)
+ActivationContext::ActivationContext(HMODULE aLoadFromModule)
   : mActCtx(INVALID_HANDLE_VALUE)
+  , mActivationCookie(0)
 {
   ACTCTX actCtx = {sizeof(actCtx)};
   actCtx.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID | ACTCTX_FLAG_HMODULE_VALID;
-  actCtx.lpResourceName = MAKEINTRESOURCE(aResourceId);
+  actCtx.lpResourceName = MAKEINTRESOURCE(2);
   actCtx.hModule = aLoadFromModule;
 
-  Init(actCtx);
+  mActCtx = ::CreateActCtx(&actCtx);
+  MOZ_ASSERT(mActCtx != INVALID_HANDLE_VALUE);
+  if (mActCtx == INVALID_HANDLE_VALUE) {
+    return;
+  }
+  if (!::ActivateActCtx(mActCtx, &mActivationCookie)) {
+    ::ReleaseActCtx(mActCtx);
+    mActCtx = INVALID_HANDLE_VALUE;
+  }
 }
 
-void
-ActivationContext::Init(ACTCTX& aActCtx)
-{
-  MOZ_ASSERT(mActCtx == INVALID_HANDLE_VALUE);
-  mActCtx = ::CreateActCtx(&aActCtx);
-  MOZ_ASSERT(mActCtx != INVALID_HANDLE_VALUE);
-}
-
-void
-ActivationContext::AddRef()
+ActivationContext::~ActivationContext()
 {
   if (mActCtx == INVALID_HANDLE_VALUE) {
     return;
   }
-  ::AddRefActCtx(mActCtx);
-}
-
-ActivationContext::ActivationContext(ActivationContext&& aOther)
-  : mActCtx(aOther.mActCtx)
-{
-  aOther.mActCtx = INVALID_HANDLE_VALUE;
-}
-
-ActivationContext&
-ActivationContext::operator=(ActivationContext&& aOther)
-{
-  Release();
-
-  mActCtx = aOther.mActCtx;
-  aOther.mActCtx = INVALID_HANDLE_VALUE;
-  return *this;
-}
-
-ActivationContext::ActivationContext(const ActivationContext& aOther)
-  : mActCtx(aOther.mActCtx)
-{
-  AddRef();
-}
-
-ActivationContext&
-ActivationContext::operator=(const ActivationContext& aOther)
-{
-  Release();
-  mActCtx = aOther.mActCtx;
-  AddRef();
-  return *this;
-}
-
-void
-ActivationContext::Release()
-{
-  if (mActCtx == INVALID_HANDLE_VALUE) {
-    return;
-  }
+  DebugOnly<BOOL> deactivated = ::DeactivateActCtx(0, mActivationCookie);
+  MOZ_ASSERT(deactivated);
   ::ReleaseActCtx(mActCtx);
-  mActCtx = INVALID_HANDLE_VALUE;
-}
-
-ActivationContext::~ActivationContext()
-{
-  Release();
-}
-
-ActivationContextRegion::ActivationContextRegion(const ActivationContext& aActCtx)
-  : mActCtx(aActCtx)
-  , mActCookie(0)
-{
-  if (aActCtx.mActCtx == INVALID_HANDLE_VALUE) {
-    return;
-  }
-
-  DebugOnly<BOOL> activated = ::ActivateActCtx(aActCtx.mActCtx, &mActCookie);
-  MOZ_ASSERT(activated);
-}
-
-ActivationContextRegion::ActivationContextRegion(ActivationContext&& aActCtx)
-  : mActCtx(Move(aActCtx))
-  , mActCookie(0)
-{
-  if (aActCtx.mActCtx == INVALID_HANDLE_VALUE) {
-    return;
-  }
-
-  DebugOnly<BOOL> activated = ::ActivateActCtx(aActCtx.mActCtx, &mActCookie);
-  MOZ_ASSERT(activated);
-}
-
-ActivationContextRegion::~ActivationContextRegion()
-{
-  if (!mActCookie) {
-    return;
-  }
-
-  DebugOnly<BOOL> deactivated = ::DeactivateActCtx(0, mActCookie);
-  MOZ_ASSERT(deactivated);
 }
 
 } // namespace mscom
 } // namespace mozilla
--- a/ipc/mscom/ActivationContext.h
+++ b/ipc/mscom/ActivationContext.h
@@ -3,74 +3,40 @@
 /* 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_mscom_ActivationContext_h
 #define mozilla_mscom_ActivationContext_h
 
 #include "mozilla/Attributes.h"
-#include "mozilla/Move.h"
 
 #include <windows.h>
 
 namespace mozilla {
 namespace mscom {
 
-class ActivationContext final
+class MOZ_RAII ActivationContext
 {
 public:
-  explicit ActivationContext(WORD aResourceId);
-  explicit ActivationContext(HMODULE aLoadFromModule, WORD aResourceId = 2);
-
-  ActivationContext(ActivationContext&& aOther);
-  ActivationContext& operator=(ActivationContext&& aOther);
-
-  ActivationContext(const ActivationContext& aOther);
-  ActivationContext& operator=(const ActivationContext& aOther);
-
+  explicit ActivationContext(HMODULE aLoadFromModule);
   ~ActivationContext();
 
   explicit operator bool() const
   {
     return mActCtx != INVALID_HANDLE_VALUE;
   }
 
-private:
-  void Init(ACTCTX& aActCtx);
-  void AddRef();
-  void Release();
+  ActivationContext(const ActivationContext&) = delete;
+  ActivationContext(ActivationContext&&) = delete;
+  ActivationContext& operator=(const ActivationContext&) = delete;
+  ActivationContext& operator=(ActivationContext&&) = delete;
 
 private:
-  HANDLE mActCtx;
-
-  friend class ActivationContextRegion;
-};
-
-class MOZ_NON_TEMPORARY_CLASS ActivationContextRegion final
-{
-public:
-  template <typename... Args>
-  explicit ActivationContextRegion(Args... aArgs)
-    : mActCtx(Forward<Args>(aArgs)...)
-    , mActCookie(0)
-  {
-  }
-
-  explicit ActivationContextRegion(const ActivationContext& aActCtx);
-  explicit ActivationContextRegion(ActivationContext&& aActCtx);
-  ~ActivationContextRegion();
-
-  ActivationContextRegion(const ActivationContextRegion&) = delete;
-  ActivationContextRegion(ActivationContextRegion&&) = delete;
-  ActivationContextRegion& operator=(const ActivationContextRegion&) = delete;
-  ActivationContextRegion& operator=(ActivationContextRegion&&) = delete;
-
-private:
-  ActivationContext mActCtx;
-  ULONG_PTR         mActCookie;
+  HANDLE    mActCtx;
+  ULONG_PTR mActivationCookie;
 };
 
 } // namespace mscom
 } // namespace mozilla
 
 #endif // mozilla_mscom_ActivationContext_h
 
--- a/ipc/mscom/Registration.cpp
+++ b/ipc/mscom/Registration.cpp
@@ -40,25 +40,46 @@
    compiled into DLLs that COM may load into non-Mozilla processes! */
 
 extern "C" {
 
 // This function is defined in generated code for proxy DLLs but is not declared
 // in rpcproxy.h, so we need this declaration.
 void RPC_ENTRY GetProxyDllInfo(const ProxyFileInfo*** aInfo, const CLSID** aId);
 
+#if defined(_MSC_VER)
+extern IMAGE_DOS_HEADER __ImageBase;
+#endif
+
 }
 
 namespace mozilla {
 namespace mscom {
 
+static HMODULE
+GetContainingModule()
+{
+  HMODULE thisModule = nullptr;
+#if defined(_MSC_VER)
+  thisModule = reinterpret_cast<HMODULE>(&__ImageBase);
+#else
+  if (!GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS |
+                         GET_MODULE_HANDLE_EX_UNCHANGED_REFCOUNT,
+                         reinterpret_cast<LPCTSTR>(&GetContainingModule),
+                         &thisModule)) {
+    return nullptr;
+  }
+#endif
+  return thisModule;
+}
+
 static bool
 GetContainingLibPath(wchar_t* aBuffer, size_t aBufferLen)
 {
-  HMODULE thisModule = reinterpret_cast<HMODULE>(GetContainingModuleHandle());
+  HMODULE thisModule = GetContainingModule();
   if (!thisModule) {
     return false;
   }
 
   DWORD fileNameResult = GetModuleFileName(thisModule, aBuffer, aBufferLen);
   if (!fileNameResult || (fileNameResult == aBufferLen &&
         ::GetLastError() == ERROR_INSUFFICIENT_BUFFER)) {
     return false;
@@ -173,17 +194,20 @@ RegisterProxy(const wchar_t* aLeafName, 
 
   nsModuleHandle proxyDll(LoadLibrary(modulePathBuf));
   if (!proxyDll.get()) {
     return nullptr;
   }
 
   // Instantiate an activation context so that CoGetClassObject will use any
   // COM metadata embedded in proxyDll's manifest to resolve CLSIDs.
-  ActivationContextRegion actCtxRgn(proxyDll.get());
+  ActivationContext actCtx(proxyDll);
+  if (!actCtx) {
+    return nullptr;
+  }
 
   auto GetProxyDllInfoFn = reinterpret_cast<decltype(&GetProxyDllInfo)>(
       GetProcAddress(proxyDll, "GetProxyDllInfo"));
   if (!GetProxyDllInfoFn) {
     return nullptr;
   }
 
   const ProxyFileInfo** proxyInfo = nullptr;
--- a/ipc/mscom/Utils.cpp
+++ b/ipc/mscom/Utils.cpp
@@ -11,21 +11,16 @@
 #endif
 #endif
 
 #include "mozilla/mscom/Utils.h"
 #include "mozilla/RefPtr.h"
 
 #include <objbase.h>
 #include <objidl.h>
-#include <winnt.h>
-
-#if defined(_MSC_VER)
-extern "C" IMAGE_DOS_HEADER __ImageBase;
-#endif
 
 namespace mozilla {
 namespace mscom {
 
 bool
 IsCurrentThreadMTA()
 {
   APTTYPE aptType;
@@ -76,33 +71,16 @@ IsValidGUID(REFGUID aCheckGuid)
     return true;
   }
 
   BYTE version = HIBYTE(aCheckGuid.Data3) >> 4;
   // Other versions are specified in RFC4122 but these are the two used by COM.
   return version == 1 || version == 4;
 }
 
-uintptr_t
-GetContainingModuleHandle()
-{
-  HMODULE thisModule = nullptr;
-#if defined(_MSC_VER)
-  thisModule = reinterpret_cast<HMODULE>(&__ImageBase);
-#else
-  if (!GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS |
-                         GET_MODULE_HANDLE_EX_UNCHANGED_REFCOUNT,
-                         reinterpret_cast<LPCTSTR>(&GetContainingModuleHandle),
-                         &thisModule)) {
-    return nullptr;
-  }
-#endif
-  return reinterpret_cast<uintptr_t>(thisModule);
-}
-
 #if defined(MOZILLA_INTERNAL_API)
 
 void
 GUIDToString(REFGUID aGuid, nsAString& aOutString)
 {
   // This buffer length is long enough to hold a GUID string that is formatted
   // to include curly braces and dashes.
   const int kBufLenWithNul = 39;
--- a/ipc/mscom/Utils.h
+++ b/ipc/mscom/Utils.h
@@ -16,30 +16,27 @@
 struct IUnknown;
 
 namespace mozilla {
 namespace mscom {
 
 bool IsCurrentThreadMTA();
 bool IsProxy(IUnknown* aUnknown);
 bool IsValidGUID(REFGUID aCheckGuid);
-uintptr_t GetContainingModuleHandle();
 
 #if defined(MOZILLA_INTERNAL_API)
 void GUIDToString(REFGUID aGuid, nsAString& aOutString);
 #endif // defined(MOZILLA_INTERNAL_API)
 
 #if defined(ACCESSIBILITY)
 bool IsVtableIndexFromParentInterface(REFIID aInterface,
                                       unsigned long aVtableIndex);
-
 #if defined(MOZILLA_INTERNAL_API)
 bool IsInterfaceEqualToOrInheritedFrom(REFIID aInterface, REFIID aFrom,
                                        unsigned long aVtableIndexHint);
 #endif // defined(MOZILLA_INTERNAL_API)
-
 #endif // defined(ACCESSIBILITY)
 
 } // namespace mscom
 } // namespace mozilla
 
 #endif // mozilla_mscom_Utils_h
 
--- a/toolkit/library/xulrunner.rc
+++ b/toolkit/library/xulrunner.rc
@@ -1,13 +1,9 @@
 /* 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-config.h"
 #include "widget.rc"
 #ifdef ACCESSIBILITY
 1 typelib IGeckoCustom.tlb
-64 RT_MANIFEST IAccessible64.manifest
-#ifndef HAVE_64BIT_BUILD
-32 RT_MANIFEST IAccessible32.manifest
 #endif
-#endif