Subj : Re: javascript: from xul/html .vs. xpcshell ! not the same behavior.... To : jmp From : Brendan Eich Date : Wed Aug 11 2004 02:20 pm jmp wrote: > Gurus, > > I wrote an XPCOM component (in c++) that at some point loads an XML > document using nsIDOMXMLDocument interface. > > When this XPCOM component is instanciated from a XUL dialog, it beahaves as expected... > > If I write some javascript and try to get the same thing from xpcshell, it fails > lamentably. > > I have tracked this down to the following call, where it fails > in the call to JS_GetScriptPrincipals(). > > The "shouldn't happen" case DO HAPPEN !!!! It seems to be a limitation, a bug really, of xpcshell that it doesn't compile scripts with principals. Cc'ing timeless in case he's run into this one, and setting followup-to: m.jseng. Please feel free to file a bug against XPConnect. /be > > I have tried with build from Mozilla 1.4.2 and from mozilla 1.7.2. Same behavior!!!! > > has anyone here any ideas ???? > > nsresult nsScriptSecurityManager::GetScriptPrincipal(JSContext *cx, > JSScript *script, > nsIPrincipal **result) > { > if (!script) > { > *result = nsnull; > return NS_OK; > } > JSPrincipals *jsp = JS_GetScriptPrincipals(cx, script); > if (!jsp) { > // Script didn't have principals -- shouldn't happen. > return NS_ERROR_FAILURE; > } > nsJSPrincipals *nsJSPrin = NS_STATIC_CAST(nsJSPrincipals *, jsp); > *result = nsJSPrin->nsIPrincipalPtr; > if (!*result) > return NS_ERROR_FAILURE; > NS_ADDREF(*result); > return NS_OK; > > } > > Thanks > > JM > > .