Bug 714353 - Remove nsIXPCScriptable::Trace (r=mrbkap)

This commit is contained in:
Bill McCloskey 2012-01-04 14:13:15 -08:00
parent 488641b46d
commit 2971953b5e
5 changed files with 7 additions and 47 deletions

View File

@ -4683,15 +4683,6 @@ nsDOMClassInfo::HasInstance(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
return NS_ERROR_UNEXPECTED;
}
NS_IMETHODIMP
nsDOMClassInfo::Trace(nsIXPConnectWrappedNative *wrapper, JSTracer *trc,
JSObject *obj)
{
NS_WARNING("nsDOMClassInfo::Trace Don't call me!");
return NS_ERROR_UNEXPECTED;
}
NS_IMETHODIMP
nsDOMClassInfo::Equality(nsIXPConnectWrappedNative *wrapper, JSContext * cx,
JSObject * obj, const jsval &val, bool *bp)

View File

@ -41,8 +41,6 @@
#include "nsISupports.idl"
#include "nsIXPConnect.idl"
[ptr] native JSTracerPtr(JSTracer);
%{ C++
#define NS_SUCCESS_I_DID_SOMETHING \
(NS_ERROR_GENERATE_SUCCESS(NS_ERROR_MODULE_XPCONNECT,1))
@ -73,7 +71,7 @@
* to *_retval unless they want to return PR_FALSE.
*/
[uuid(a40ce52e-2d8c-400f-9af2-f8784a656070)]
[uuid(fca22e1e-a2bf-456e-83db-f73e8de0f7c5)]
interface nsIXPCScriptable : nsISupports
{
/* bitflags used for 'flags' (only 32 bits available!) */
@ -94,7 +92,6 @@ interface nsIXPCScriptable : nsISupports
const PRUint32 WANT_CALL = 1 << 13;
const PRUint32 WANT_CONSTRUCT = 1 << 14;
const PRUint32 WANT_HASINSTANCE = 1 << 15;
const PRUint32 WANT_TRACE = 1 << 16;
const PRUint32 USE_JSSTUB_FOR_ADDPROPERTY = 1 << 17;
const PRUint32 USE_JSSTUB_FOR_DELPROPERTY = 1 << 18;
const PRUint32 USE_JSSTUB_FOR_SETPROPERTY = 1 << 19;
@ -181,9 +178,6 @@ interface nsIXPCScriptable : nsISupports
in JSContextPtr cx, in JSObjectPtr obj,
in jsval val, out boolean bp);
void trace(in nsIXPConnectWrappedNative wrapper,
in JSTracerPtr trc, in JSObjectPtr obj);
boolean equality(in nsIXPConnectWrappedNative wrapper,
in JSContextPtr cx, in JSObjectPtr obj, in jsval val);

View File

@ -109,9 +109,6 @@ NS_IMETHODIMP XPC_MAP_CLASSNAME::GetScriptableFlags(PRUint32 *aFlags)
#ifdef XPC_MAP_WANT_HASINSTANCE
nsIXPCScriptable::WANT_HASINSTANCE |
#endif
#ifdef XPC_MAP_WANT_TRACE
nsIXPCScriptable::WANT_TRACE |
#endif
#ifdef XPC_MAP_WANT_EQUALITY
nsIXPCScriptable::WANT_EQUALITY |
#endif
@ -208,11 +205,6 @@ NS_IMETHODIMP XPC_MAP_CLASSNAME::HasInstance(nsIXPConnectWrappedNative *wrapper,
{NS_ERROR("never called"); return NS_ERROR_NOT_IMPLEMENTED;}
#endif
#ifndef XPC_MAP_WANT_TRACE
NS_IMETHODIMP XPC_MAP_CLASSNAME::Trace(nsIXPConnectWrappedNative *wrapper, JSTracer *trc, JSObject * obj)
{NS_ERROR("never called"); return NS_ERROR_NOT_IMPLEMENTED;}
#endif
#ifndef XPC_MAP_WANT_EQUALITY
NS_IMETHODIMP XPC_MAP_CLASSNAME::Equality(nsIXPConnectWrappedNative *wrapper, JSContext * cx, JSObject * obj, const jsval &val, bool *bp)
{NS_ERROR("never called"); return NS_ERROR_NOT_IMPLEMENTED;}
@ -297,10 +289,6 @@ NS_IMETHODIMP XPC_MAP_CLASSNAME::PostCreatePrototype(JSContext *cx, JSObject *pr
#undef XPC_MAP_WANT_HASINSTANCE
#endif
#ifdef XPC_MAP_WANT_TRACE
#undef XPC_MAP_WANT_TRACE
#endif
#ifdef XPC_MAP_WANT_EQUALITY
#undef XPC_MAP_WANT_EQUALITY
#endif

View File

@ -688,7 +688,7 @@ TraceForValidWrapper(JSTracer *trc, XPCWrappedNative* wrapper)
}
static void
MarkWrappedNative(JSTracer *trc, JSObject *obj, bool helper)
MarkWrappedNative(JSTracer *trc, JSObject *obj)
{
JSObject *obj2;
@ -698,20 +698,17 @@ MarkWrappedNative(JSTracer *trc, JSObject *obj, bool helper)
XPCWrappedNative::GetWrappedNativeOfJSObject(nsnull, obj, nsnull, &obj2);
if (wrapper) {
if (wrapper->IsValid()) {
if (helper)
wrapper->GetScriptableCallback()->Trace(wrapper, trc, obj);
if (wrapper->IsValid())
TraceForValidWrapper(trc, wrapper);
}
} else if (obj2) {
GetSlimWrapperProto(obj2)->TraceJS(trc);
}
}
static void
XPC_WN_Shared_Trace(JSTracer *trc, JSObject *obj)
XPC_WN_NoHelper_Trace(JSTracer *trc, JSObject *obj)
{
MarkWrappedNative(trc, obj, false);
MarkWrappedNative(trc, obj);
}
static JSBool
@ -840,7 +837,7 @@ js::Class XPC_WN_NoHelper_JSClass = {
nsnull, // construct
nsnull, // xdrObject;
nsnull, // hasInstance
XPC_WN_Shared_Trace, // trace
XPC_WN_NoHelper_Trace, // trace
// ClassExtension
{
@ -1065,12 +1062,6 @@ XPC_WN_Helper_Finalize(JSContext *cx, JSObject *obj)
wrapper->FlatJSObjectFinalized(cx);
}
static void
XPC_WN_Helper_Trace(JSTracer *trc, JSObject *obj)
{
MarkWrappedNative(trc, obj, true);
}
static JSBool
XPC_WN_Helper_NewResolve(JSContext *cx, JSObject *obj, jsid id, uintN flags,
JSObject **objp)
@ -1501,10 +1492,7 @@ XPCNativeScriptableShared::PopulateJSClass(JSBool isGlobal)
if (mFlags.WantHasInstance())
mJSClass.base.hasInstance = XPC_WN_Helper_HasInstance;
if (mFlags.WantTrace())
mJSClass.base.trace = XPC_WN_Helper_Trace;
else
mJSClass.base.trace = XPC_WN_Shared_Trace;
mJSClass.base.trace = XPC_WN_NoHelper_Trace;
if (mFlags.WantOuterObject())
mJSClass.base.ext.outerObject = XPC_WN_OuterObject;

View File

@ -2013,7 +2013,6 @@ public:
JSBool WantCall() GET_IT(WANT_CALL)
JSBool WantConstruct() GET_IT(WANT_CONSTRUCT)
JSBool WantHasInstance() GET_IT(WANT_HASINSTANCE)
JSBool WantTrace() GET_IT(WANT_TRACE)
JSBool WantEquality() GET_IT(WANT_EQUALITY)
JSBool WantOuterObject() GET_IT(WANT_OUTER_OBJECT)
JSBool UseJSStubForAddProperty() GET_IT(USE_JSSTUB_FOR_ADDPROPERTY)