From c1e5ff949e93b4759d0dcb1807f0ac24b9d96696 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sun, 17 Jun 2012 10:11:16 +0200 Subject: [PATCH] Bug 762436 - Get rid of the nsresult return value for nsIXPCScriptable::GetScriptableFlags(); r=mrbkap --- dom/base/nsDOMClassInfo.cpp | 9 ++++----- dom/base/nsDOMClassInfo.h | 11 +++-------- js/xpconnect/idl/nsIXPCScriptable.idl | 4 ++-- js/xpconnect/public/xpc_map_end.h | 7 ++++--- js/xpconnect/src/XPCWrappedNative.cpp | 27 +++++---------------------- js/xpconnect/src/xpcObjectHelper.h | 8 ++------ 6 files changed, 20 insertions(+), 46 deletions(-) diff --git a/dom/base/nsDOMClassInfo.cpp b/dom/base/nsDOMClassInfo.cpp index 8390bae1f086..55f43ac366ca 100644 --- a/dom/base/nsDOMClassInfo.cpp +++ b/dom/base/nsDOMClassInfo.cpp @@ -4777,12 +4777,11 @@ nsDOMClassInfo::GetClassName(char **aClassName) return NS_OK; } -NS_IMETHODIMP -nsDOMClassInfo::GetScriptableFlags(PRUint32 *aFlags) +// virtual +PRUint32 +nsDOMClassInfo::GetScriptableFlags() { - *aFlags = mData->mScriptableFlags; - - return NS_OK; + return mData->mScriptableFlags; } NS_IMETHODIMP diff --git a/dom/base/nsDOMClassInfo.h b/dom/base/nsDOMClassInfo.h index 2db30689acf7..9c4a481756ac 100644 --- a/dom/base/nsDOMClassInfo.h +++ b/dom/base/nsDOMClassInfo.h @@ -365,15 +365,10 @@ public: return NS_OK; } - NS_IMETHOD GetScriptableFlags(PRUint32 *aFlags) + virtual PRUint32 GetScriptableFlags() { - PRUint32 flags; - nsresult rv = nsDOMGenericSH::GetScriptableFlags(&flags); - if (NS_SUCCEEDED(rv)) { - *aFlags = flags | nsIXPCScriptable::WANT_POSTCREATE; - } - - return rv; + return nsDOMGenericSH::GetScriptableFlags() | + nsIXPCScriptable::WANT_POSTCREATE; } #endif NS_IMETHOD GetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx, diff --git a/js/xpconnect/idl/nsIXPCScriptable.idl b/js/xpconnect/idl/nsIXPCScriptable.idl index a82d37c6b8e2..ad709eaa2628 100644 --- a/js/xpconnect/idl/nsIXPCScriptable.idl +++ b/js/xpconnect/idl/nsIXPCScriptable.idl @@ -37,7 +37,7 @@ * to *_retval unless they want to return PR_FALSE. */ -[uuid(fca22e1e-a2bf-456e-83db-f73e8de0f7c5)] +[uuid(782d317e-0727-4ccd-8a5b-f5d237f3b03c)] interface nsIXPCScriptable : nsISupports { /* bitflags used for 'flags' (only 32 bits available!) */ @@ -80,7 +80,7 @@ interface nsIXPCScriptable : nsISupports const PRUint32 RESERVED = 1 << 31; readonly attribute string className; - readonly attribute PRUint32 scriptableFlags; + [notxpcom,nostdcall] PRUint32 getScriptableFlags(); void preCreate(in nsISupports nativeObj, in JSContextPtr cx, in JSObjectPtr globalObj, out JSObjectPtr parentObj); diff --git a/js/xpconnect/public/xpc_map_end.h b/js/xpconnect/public/xpc_map_end.h index f29edda7d605..b0cb935cbd1c 100644 --- a/js/xpconnect/public/xpc_map_end.h +++ b/js/xpconnect/public/xpc_map_end.h @@ -24,9 +24,11 @@ NS_IMETHODIMP XPC_MAP_CLASSNAME::GetClassName(char * *aClassName) /**************************************************************/ -NS_IMETHODIMP XPC_MAP_CLASSNAME::GetScriptableFlags(PRUint32 *aFlags) +// virtual +PRUint32 +XPC_MAP_CLASSNAME::GetScriptableFlags() { - *aFlags = + return #ifdef XPC_MAP_WANT_PRECREATE nsIXPCScriptable::WANT_PRECREATE | #endif @@ -85,7 +87,6 @@ NS_IMETHODIMP XPC_MAP_CLASSNAME::GetScriptableFlags(PRUint32 *aFlags) XPC_MAP_FLAGS | #endif 0; - return NS_OK; } /**************************************************************/ diff --git a/js/xpconnect/src/XPCWrappedNative.cpp b/js/xpconnect/src/XPCWrappedNative.cpp index 6719eb823bbb..85930df785a4 100644 --- a/js/xpconnect/src/XPCWrappedNative.cpp +++ b/js/xpconnect/src/XPCWrappedNative.cpp @@ -1012,11 +1012,7 @@ XPCWrappedNative::GatherProtoScriptableCreateInfo(nsIClassInfo* classInfo, if (classInfoHelper) { nsCOMPtr helper = dont_AddRef(static_cast(classInfoHelper)); - uint32_t flags; - nsresult rv = classInfoHelper->GetScriptableFlags(&flags); - if (NS_FAILED(rv)) - flags = 0; - + uint32_t flags = classInfoHelper->GetScriptableFlags(); sciProto.SetCallback(helper.forget()); sciProto.SetFlags(flags); sciProto.SetInterfacesBitmap(classInfoHelper->GetInterfacesBitmap()); @@ -1030,11 +1026,7 @@ XPCWrappedNative::GatherProtoScriptableCreateInfo(nsIClassInfo* classInfo, if (NS_SUCCEEDED(rv) && possibleHelper) { nsCOMPtr helper(do_QueryInterface(possibleHelper)); if (helper) { - uint32_t flags; - rv = helper->GetScriptableFlags(&flags); - if (NS_FAILED(rv)) - flags = 0; - + uint32_t flags = helper->GetScriptableFlags(); sciProto.SetCallback(helper.forget()); sciProto.SetFlags(flags); } @@ -1061,11 +1053,7 @@ XPCWrappedNative::GatherScriptableCreateInfo(nsISupports* obj, // Do the same for the wrapper specific scriptable nsCOMPtr helper(do_QueryInterface(obj)); if (helper) { - uint32_t flags; - nsresult rv = helper->GetScriptableFlags(&flags); - if (NS_FAILED(rv)) - flags = 0; - + uint32_t flags = helper->GetScriptableFlags(); sciWrapper.SetCallback(helper.forget()); sciWrapper.SetFlags(flags); @@ -3824,12 +3812,7 @@ ConstructSlimWrapper(XPCCallContext &ccx, nsISupports *identityObj = aHelper.GetCanonical(); nsXPCClassInfo *classInfoHelper = aHelper.GetXPCClassInfo(); - uint32_t flagsInt; - nsresult rv = classInfoHelper->GetScriptableFlags(&flagsInt); - if (NS_FAILED(rv)) - flagsInt = 0; - - XPCNativeScriptableFlags flags(flagsInt); + XPCNativeScriptableFlags flags(classInfoHelper->GetScriptableFlags()); NS_ASSERTION(flags.DontAskInstanceForScriptable(), "Not supported for cached wrappers!"); @@ -3843,7 +3826,7 @@ ConstructSlimWrapper(XPCCallContext &ccx, } JSObject* plannedParent = parent; - rv = classInfoHelper->PreCreate(identityObj, ccx, parent, &parent); + nsresult rv = classInfoHelper->PreCreate(identityObj, ccx, parent, &parent); if (rv != NS_SUCCESS_ALLOW_SLIM_WRAPPERS) { SLIM_LOG_NOT_CREATED(ccx, identityObj, "PreCreate hook refused"); diff --git a/js/xpconnect/src/xpcObjectHelper.h b/js/xpconnect/src/xpcObjectHelper.h index eda16b08f0e2..c7a4d99afd1f 100644 --- a/js/xpconnect/src/xpcObjectHelper.h +++ b/js/xpconnect/src/xpcObjectHelper.h @@ -102,12 +102,8 @@ public: // We should have something by now. MOZ_ASSERT(sinfo); - // Grab the flags. This should not fail. - PRUint32 flags; - mozilla::DebugOnly rv = sinfo->GetScriptableFlags(&flags); - MOZ_ASSERT(NS_SUCCEEDED(rv)); - - return flags; + // Grab the flags. + return sinfo->GetScriptableFlags(); } nsWrapperCache *GetWrapperCache()