diff --git a/dom/base/nsDOMClassInfo.cpp b/dom/base/nsDOMClassInfo.cpp index 36fae4e0e91..8e16dc41c30 100644 --- a/dom/base/nsDOMClassInfo.cpp +++ b/dom/base/nsDOMClassInfo.cpp @@ -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) diff --git a/js/xpconnect/idl/nsIXPCScriptable.idl b/js/xpconnect/idl/nsIXPCScriptable.idl index 6d623705c01..e450cc166d4 100644 --- a/js/xpconnect/idl/nsIXPCScriptable.idl +++ b/js/xpconnect/idl/nsIXPCScriptable.idl @@ -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); diff --git a/js/xpconnect/public/xpc_map_end.h b/js/xpconnect/public/xpc_map_end.h index f4f1649b497..dbec27a605d 100644 --- a/js/xpconnect/public/xpc_map_end.h +++ b/js/xpconnect/public/xpc_map_end.h @@ -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 diff --git a/js/xpconnect/src/XPCWrappedNativeJSOps.cpp b/js/xpconnect/src/XPCWrappedNativeJSOps.cpp index 55e95125654..df5f821b932 100644 --- a/js/xpconnect/src/XPCWrappedNativeJSOps.cpp +++ b/js/xpconnect/src/XPCWrappedNativeJSOps.cpp @@ -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; diff --git a/js/xpconnect/src/xpcprivate.h b/js/xpconnect/src/xpcprivate.h index 0456727d4d3..2b37a55ed9b 100644 --- a/js/xpconnect/src/xpcprivate.h +++ b/js/xpconnect/src/xpcprivate.h @@ -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)