Bug 958643, part 5 - Eliminate XPCJSObjectHolder. r=krizsa
It is now unused.
MozReview-Commit-ID: AzXW6qHdSOW
--- a/js/xpconnect/src/XPCForwards.h
+++ b/js/xpconnect/src/XPCForwards.h
@@ -26,17 +26,16 @@ class XPCNativeMember;
class XPCNativeInterface;
class XPCNativeSet;
class XPCWrappedNative;
class XPCWrappedNativeProto;
class XPCWrappedNativeTearOff;
class XPCTraceableVariant;
-class XPCJSObjectHolder;
class JSObject2WrappedJSMap;
class Native2WrappedNativeMap;
class IID2WrappedJSClassMap;
class IID2NativeInterfaceMap;
class ClassInfo2NativeSetMap;
class ClassInfo2WrappedNativeProtoMap;
class NativeSetMap;
--- a/js/xpconnect/src/XPCWrappedNative.cpp
+++ b/js/xpconnect/src/XPCWrappedNative.cpp
@@ -2223,23 +2223,8 @@ static void DEBUG_CheckClassInfoClaims(X
if (className)
free(className);
if (contractID)
free(contractID);
}
}
#endif
-
-NS_IMPL_ISUPPORTS(XPCJSObjectHolder, nsIXPConnectJSObjectHolder)
-
-JSObject*
-XPCJSObjectHolder::GetJSObject()
-{
- NS_PRECONDITION(mJSObj, "bad object state");
- return mJSObj;
-}
-
-XPCJSObjectHolder::XPCJSObjectHolder(JSContext* cx, JSObject* obj)
- : mJSObj(cx, obj)
-{
- MOZ_ASSERT(obj);
-}
--- a/js/xpconnect/src/xpcprivate.h
+++ b/js/xpconnect/src/xpcprivate.h
@@ -2029,36 +2029,16 @@ private:
JS::Heap<JSObject*> mJSObj;
RefPtr<nsXPCWrappedJSClass> mClass;
nsXPCWrappedJS* mRoot; // If mRoot != this, it is an owning pointer.
nsXPCWrappedJS* mNext;
nsCOMPtr<nsISupports> mOuter; // only set in root
};
-/***************************************************************************/
-
-class XPCJSObjectHolder final : public nsIXPConnectJSObjectHolder
-{
-public:
- // all the interface method declarations...
- NS_DECL_ISUPPORTS
- NS_DECL_NSIXPCONNECTJSOBJECTHOLDER
-
- // non-interface implementation
-
-public:
- XPCJSObjectHolder(JSContext* cx, JSObject* obj);
-
-private:
- virtual ~XPCJSObjectHolder() {}
- XPCJSObjectHolder() = delete;
-
- JS::PersistentRooted<JSObject*> mJSObj;
-};
/***************************************************************************
****************************************************************************
*
* All manner of utility classes follow...
*
****************************************************************************
***************************************************************************/