result = nsComponentManager::CreateInstance(kInstallTrigger_CID, nsnull, NS_GET_IID(nsIDOMInstallTriggerGlobal), (void **)&nativeThis);  if (NS_OK != result) return JS_FALSE;
result = CallCreateInstance(kInstallTrigger_CID, &nativeThis); if (NS_FAILED(result)) return JS_FALSE;
static JSBool CreateNativeObject(JSContext *cx, JSObject *obj, nsIDOMInstallTriggerGlobal **aResult){    nsresult result;    nsIScriptObjectOwner *owner = nsnull;    nsIDOMInstallTriggerGlobal *nativeThis;    static NS_DEFINE_CID(kInstallTrigger_CID,                         NS_SoftwareUpdateInstallTrigger_CID);    result = nsComponentManager::CreateInstance(kInstallTrigger_CID,                                        nsnull,                                        NS_GET_IID(nsIDOMInstallTriggerGlobal),                                        (void **)&nativeThis);    if (NS_OK != result) return JS_FALSE;    result = nativeThis->QueryInterface(NS_GET_IID(nsIScriptObjectOwner),                                        (void **)&owner);    if (NS_OK != result)    {        NS_RELEASE(nativeThis);        return JS_FALSE;    }    owner->SetScriptObject((void *)obj);    JS_SetPrivate(cx, obj, nativeThis);    *aResult = nativeThis;    NS_RELEASE(nativeThis);  // we only want one refcnt. JSUtils cleans us up.    return JS_TRUE;}