return JS_FALSE;
return nsJSUtils::nsReportError(cx, NS_ERROR_DOM_NOT_OBJECT_ERR);
XULElementRemoveBroadcastListener(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){  nsIDOMXULElement *nativeThis = (nsIDOMXULElement*)nsJSUtils::nsGetNativeThis(cx, obj);  nsAutoString b0;  nsIDOMElementPtr b1;  *rval = JSVAL_NULL;  nsIScriptContext *scriptCX = (nsIScriptContext *)JS_GetContextPrivate(cx);  nsCOMPtr<nsIScriptSecurityManager> secMan;  if (NS_OK != scriptCX->GetSecurityManager(getter_AddRefs(secMan))) {    return JS_FALSE;  }  {    PRBool ok;    secMan->CheckScriptAccess(scriptCX, obj, "xulelement.removebroadcastlistener",PR_FALSE , &ok);    if (!ok) {      //Need to throw error here      return JS_FALSE;    }  }  // If there's no private data, this must be the prototype, so ignore  if (nsnull == nativeThis) {    return JS_TRUE;  }  {    if (argc < 2) {      JS_ReportError(cx, "Function removeBroadcastListener requires 2 parameters");      return JS_FALSE;    }    nsJSUtils::nsConvertJSValToString(b0, cx, argv[0]);    if (JS_FALSE == nsJSUtils::nsConvertJSValToObject((nsISupports **)&b1,                                           kIElementIID,                                           "Element",                                           cx,                                           argv[1])) {      return JS_FALSE;    }    if (NS_OK != nativeThis->RemoveBroadcastListener(b0, b1)) {      return JS_FALSE;    }    *rval = JSVAL_VOID;  }  return JS_TRUE;}