Bug 1541677, part 2 - Remove the unused XPIDL version of GetInterfaceInfo. r=bzbarsky
authorAndrew McCreight <continuation@gmail.com>
Thu, 04 Apr 2019 05:05:04 +0000
changeset 467997 06c55bd776d0af6b2aa0de3a249d07dbaf88e1b6
parent 467996 a5bd15fbc59459da25988ce69f98c2e6c5ca05ca
child 467998 51298369fb0b21351379bb92835ebbe6e00edca4
push id112673
push userccoroiu@mozilla.com
push dateThu, 04 Apr 2019 22:20:03 +0000
treeherdermozilla-inbound@f0fb97a222ff [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbzbarsky
bugs1541677
milestone68.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 1541677, part 2 - Remove the unused XPIDL version of GetInterfaceInfo. r=bzbarsky Differential Revision: https://phabricator.services.mozilla.com/D26066
js/xpconnect/idl/nsIXPConnect.idl
js/xpconnect/src/XPCWrappedJS.cpp
--- a/js/xpconnect/idl/nsIXPConnect.idl
+++ b/js/xpconnect/idl/nsIXPConnect.idl
@@ -22,17 +22,16 @@ class nsWrapperCache;
 
 // NB: jsval and jsid are declared in nsrootidl.idl
 
 [ptr] native JSContextPtr(JSContext);
 [ptr] native JSObjectPtr(JSObject);
 [ptr] native JSScriptPtr(JSScript);
 [ptr] native nsWrapperCachePtr(nsWrapperCache);
       native JSHandleId(JS::Handle<jsid>);
-[ptr] native InterfaceInfoPtr(const nsXPTInterfaceInfo);
 
 /***************************************************************************/
 
 // forward declarations...
 interface nsIPrincipal;
 interface nsIClassInfo;
 interface nsIVariant;
 interface nsIObjectInputStream;
@@ -63,17 +62,16 @@ protected:
 public:
 %}
 };
 
 [builtinclass, uuid(3a01b0d6-074b-49ed-bac3-08c76366cae4)]
 interface nsIXPConnectWrappedJS : nsIXPConnectJSObjectHolder
 {
     /* attribute 'JSObject' inherited from nsIXPConnectJSObjectHolder */
-    readonly attribute InterfaceInfoPtr InterfaceInfo;
     readonly attribute nsIIDPtr         InterfaceIID;
 
     // Returns the global object for our JS object. If this object is a
     // cross-compartment wrapper, returns the compartment's first global.
     // The global we return is guaranteed to be same-compartment with the
     // object.
     // Note: this matches the GetJSObject() signature.
     [notxpcom, nostdcall] JSObjectPtr GetJSObjectGlobal();
--- a/js/xpconnect/src/XPCWrappedJS.cpp
+++ b/js/xpconnect/src/XPCWrappedJS.cpp
@@ -581,28 +581,16 @@ nsXPCWrappedJS* nsXPCWrappedJS::FindInhe
       return cur;
     }
   }
 
   return nullptr;
 }
 
 NS_IMETHODIMP
-nsXPCWrappedJS::GetInterfaceInfo(const nsXPTInterfaceInfo** infoResult) {
-  MOZ_ASSERT(GetClass(), "wrapper without class");
-  MOZ_ASSERT(GetClass()->GetInterfaceInfo(), "wrapper class without interface");
-
-  // Since failing to get this info will crash some platforms(!), we keep
-  // mClass valid at shutdown time.
-
-  *infoResult = GetClass()->GetInterfaceInfo();
-  return *infoResult ? NS_OK : NS_ERROR_UNEXPECTED;
-}
-
-NS_IMETHODIMP
 nsXPCWrappedJS::CallMethod(uint16_t methodIndex, const nsXPTMethodInfo* info,
                            nsXPTCMiniVariant* params) {
   // Do a release-mode assert against accessing nsXPCWrappedJS off-main-thread.
   MOZ_RELEASE_ASSERT(NS_IsMainThread(),
                      "nsXPCWrappedJS::CallMethod called off main thread");
 
   if (!IsValid()) {
     return NS_ERROR_UNEXPECTED;