<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0) on Thu Mar 06 17:19:15 EST 2008 -->
<TITLE>
SecurityController (Rhino)
</TITLE>
<META NAME="date" CONTENT="2008-03-06">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SecurityController (Rhino)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../org/mozilla/javascript/ScriptableObject.html" title="class in org.mozilla.javascript"><B>PREV CLASS</B></A>
<A HREF="../../../org/mozilla/javascript/Synchronizer.html" title="class in org.mozilla.javascript"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/mozilla/javascript/SecurityController.html" target="_top"><B>FRAMES</B></A>
<A HREF="SecurityController.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.mozilla.javascript</FONT>
<BR>
Class SecurityController</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>org.mozilla.javascript.SecurityController</B>
</PRE>
<HR>
<DL>
<DT><PRE>public abstract class <B>SecurityController</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
This class describes the support needed to implement security.
<p>
Three main pieces of functionality are required to implement
security for JavaScript. First, it must be possible to define
classes with an associated security domain. (This security
domain may be any object incorporating notion of access
restrictions that has meaning to an embedding; for a client-side
JavaScript embedding this would typically be
java.security.ProtectionDomain or similar object depending on an
origin URL and/or a digital certificate.)
Next it must be possible to get a security domain object that
allows a particular action only if all security domains
associated with code on the current Java stack allows it. And
finally, it must be possible to execute script code with
associated security domain injected into Java stack.
<p>
These three pieces of functionality are encapsulated in the
SecurityController class.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>1.5 Release 4</DD>
<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/Context.html#setSecurityController(org.mozilla.javascript.SecurityController)"><CODE>Context.setSecurityController(SecurityController)</CODE></A>,
<CODE>ClassLoader</CODE></DL>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/mozilla/javascript/SecurityController.html#SecurityController()">SecurityController</A></B>()</CODE>
<BR>
</TD>
</TR>
</TABLE>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/mozilla/javascript/SecurityController.html#callWithDomain(java.lang.Object, org.mozilla.javascript.Context, org.mozilla.javascript.Callable, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])">callWithDomain</A></B>(java.lang.Object securityDomain,
<A HREF="../../../org/mozilla/javascript/Context.html" title="class in org.mozilla.javascript">Context</A> cx,
<A HREF="../../../org/mozilla/javascript/Callable.html" title="interface in org.mozilla.javascript">Callable</A> callable,
<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A> scope,
<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A> thisObj,
java.lang.Object[] args)</CODE>
<BR>
Call <A HREF="../../../org/mozilla/javascript/Callable.html#call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])"><CODE>Callable.call(Context cx, Scriptable scope, Scriptable thisObj,
Object[] args)</CODE></A>
of <i>callable</i> under restricted security domain where an action is
allowed only if it is allowed according to the Java stack on the
moment of the <i>execWithDomain</i> call and <i>securityDomain</i>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract <A HREF="../../../org/mozilla/javascript/GeneratedClassLoader.html" title="interface in org.mozilla.javascript">GeneratedClassLoader</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/mozilla/javascript/SecurityController.html#createClassLoader(java.lang.ClassLoader, java.lang.Object)">createClassLoader</A></B>(java.lang.ClassLoader parentLoader,
java.lang.Object securityDomain)</CODE>
<BR>
Get class loader-like object that can be used
to define classes with the given security context.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static <A HREF="../../../org/mozilla/javascript/GeneratedClassLoader.html" title="interface in org.mozilla.javascript">GeneratedClassLoader</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/mozilla/javascript/SecurityController.html#createLoader(java.lang.ClassLoader, java.lang.Object)">createLoader</A></B>(java.lang.ClassLoader parent,
java.lang.Object staticDomain)</CODE>
<BR>
Create <A HREF="../../../org/mozilla/javascript/GeneratedClassLoader.html" title="interface in org.mozilla.javascript"><CODE>GeneratedClassLoader</CODE></A> with restrictions imposed by
staticDomain and all current stack frames.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/mozilla/javascript/SecurityController.html#execWithDomain(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Script, java.lang.Object)">execWithDomain</A></B>(<A HREF="../../../org/mozilla/javascript/Context.html" title="class in org.mozilla.javascript">Context</A> cx,
<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A> scope,
<A HREF="../../../org/mozilla/javascript/Script.html" title="interface in org.mozilla.javascript">Script</A> script,
java.lang.Object securityDomain)</CODE>
<BR>
<B>Deprecated.</B> <I>The application should not override this method and instead
override
<A HREF="../../../org/mozilla/javascript/SecurityController.html#callWithDomain(java.lang.Object, org.mozilla.javascript.Context, org.mozilla.javascript.Callable, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])"><CODE>callWithDomain(Object securityDomain, Context cx, Callable callable, Scriptable scope, Scriptable thisObj, Object[] args)</CODE></A>.</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/mozilla/javascript/SecurityController.html#getDynamicSecurityDomain(java.lang.Object)">getDynamicSecurityDomain</A></B>(java.lang.Object securityDomain)</CODE>
<BR>
Get dynamic security domain that allows an action only if it is allowed
by the current Java stack and <i>securityDomain</i>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static java.lang.Class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/mozilla/javascript/SecurityController.html#getStaticSecurityDomainClass()">getStaticSecurityDomainClass</A></B>()</CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> java.lang.Class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/mozilla/javascript/SecurityController.html#getStaticSecurityDomainClassInternal()">getStaticSecurityDomainClassInternal</A></B>()</CODE>
<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/mozilla/javascript/SecurityController.html#hasGlobal()">hasGlobal</A></B>()</CODE>
<BR>
Check if global <A HREF="../../../org/mozilla/javascript/SecurityController.html" title="class in org.mozilla.javascript"><CODE>SecurityController</CODE></A> was already installed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/mozilla/javascript/SecurityController.html#initGlobal(org.mozilla.javascript.SecurityController)">initGlobal</A></B>(<A HREF="../../../org/mozilla/javascript/SecurityController.html" title="class in org.mozilla.javascript">SecurityController</A> controller)</CODE>
<BR>
Initialize global controller that will be used for all
security-related operations.</TD>
</TR>
</TABLE>
<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="SecurityController()"><!-- --></A><H3>
SecurityController</H3>
<PRE>
public <B>SecurityController</B>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="hasGlobal()"><!-- --></A><H3>
hasGlobal</H3>
<PRE>
public static boolean <B>hasGlobal</B>()</PRE>
<DL>
<DD>Check if global <A HREF="../../../org/mozilla/javascript/SecurityController.html" title="class in org.mozilla.javascript"><CODE>SecurityController</CODE></A> was already installed.
<P>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/SecurityController.html#initGlobal(org.mozilla.javascript.SecurityController)"><CODE>initGlobal(SecurityController controller)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="initGlobal(org.mozilla.javascript.SecurityController)"><!-- --></A><H3>
initGlobal</H3>
<PRE>
public static void <B>initGlobal</B>(<A HREF="../../../org/mozilla/javascript/SecurityController.html" title="class in org.mozilla.javascript">SecurityController</A> controller)</PRE>
<DL>
<DD>Initialize global controller that will be used for all
security-related operations. The global controller takes precedence
over already installed <A HREF="../../../org/mozilla/javascript/Context.html" title="class in org.mozilla.javascript"><CODE>Context</CODE></A>-specific controllers and cause
any subsequent call to
<A HREF="../../../org/mozilla/javascript/Context.html#setSecurityController(org.mozilla.javascript.SecurityController)"><CODE>Context.setSecurityController(SecurityController)</CODE></A>
to throw an exception.
<p>
The method can only be called once.
<P>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/mozilla/javascript/SecurityController.html#hasGlobal()"><CODE>hasGlobal()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="createClassLoader(java.lang.ClassLoader, java.lang.Object)"><!-- --></A><H3>
createClassLoader</H3>
<PRE>
public abstract <A HREF="../../../org/mozilla/javascript/GeneratedClassLoader.html" title="interface in org.mozilla.javascript">GeneratedClassLoader</A> <B>createClassLoader</B>(java.lang.ClassLoader parentLoader,
java.lang.Object securityDomain)</PRE>
<DL>
<DD>Get class loader-like object that can be used
to define classes with the given security context.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parentLoader</CODE> - parent class loader to delegate search for classes
not defined by the class loader itself<DD><CODE>securityDomain</CODE> - some object specifying the security
context of the code that is defined by the returned class loader.</DL>
</DD>
</DL>
<HR>
<A NAME="createLoader(java.lang.ClassLoader, java.lang.Object)"><!-- --></A><H3>
createLoader</H3>
<PRE>
public static <A HREF="../../../org/mozilla/javascript/GeneratedClassLoader.html" title="interface in org.mozilla.javascript">GeneratedClassLoader</A> <B>createLoader</B>(java.lang.ClassLoader parent,
java.lang.Object staticDomain)</PRE>
<DL>
<DD>Create <A HREF="../../../org/mozilla/javascript/GeneratedClassLoader.html" title="interface in org.mozilla.javascript"><CODE>GeneratedClassLoader</CODE></A> with restrictions imposed by
staticDomain and all current stack frames.
The method uses the SecurityController instance associated with the
current <A HREF="../../../org/mozilla/javascript/Context.html" title="class in org.mozilla.javascript"><CODE>Context</CODE></A> to construct proper dynamic domain and create
corresponding class loader.
<par>
If no SecurityController is associated with the current <A HREF="../../../org/mozilla/javascript/Context.html" title="class in org.mozilla.javascript"><CODE>Context</CODE></A> ,
the method calls <A HREF="../../../org/mozilla/javascript/Context.html#createClassLoader(java.lang.ClassLoader)"><CODE>Context.createClassLoader(ClassLoader parent)</CODE></A>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parent</CODE> - parent class loader. If null,
<A HREF="../../../org/mozilla/javascript/Context.html#getApplicationClassLoader()"><CODE>Context.getApplicationClassLoader()</CODE></A> will be used.<DD><CODE>staticDomain</CODE> - static security domain.</DL>
</DD>
</DL>
<HR>
<A NAME="getStaticSecurityDomainClass()"><!-- --></A><H3>
getStaticSecurityDomainClass</H3>
<PRE>
public static java.lang.Class <B>getStaticSecurityDomainClass</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getStaticSecurityDomainClassInternal()"><!-- --></A><H3>
getStaticSecurityDomainClassInternal</H3>
<PRE>
public java.lang.Class <B>getStaticSecurityDomainClassInternal</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getDynamicSecurityDomain(java.lang.Object)"><!-- --></A><H3>
getDynamicSecurityDomain</H3>
<PRE>
public abstract java.lang.Object <B>getDynamicSecurityDomain</B>(java.lang.Object securityDomain)</PRE>
<DL>
<DD>Get dynamic security domain that allows an action only if it is allowed
by the current Java stack and <i>securityDomain</i>. If
<i>securityDomain</i> is null, return domain representing permissions
allowed by the current stack.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="callWithDomain(java.lang.Object, org.mozilla.javascript.Context, org.mozilla.javascript.Callable, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])"><!-- --></A><H3>
callWithDomain</H3>
<PRE>
public java.lang.Object <B>callWithDomain</B>(java.lang.Object securityDomain,
<A HREF="../../../org/mozilla/javascript/Context.html" title="class in org.mozilla.javascript">Context</A> cx,
<A HREF="../../../org/mozilla/javascript/Callable.html" title="interface in org.mozilla.javascript">Callable</A> callable,
<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A> scope,
<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A> thisObj,
java.lang.Object[] args)</PRE>
<DL>
<DD>Call <A HREF="../../../org/mozilla/javascript/Callable.html#call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])"><CODE>Callable.call(Context cx, Scriptable scope, Scriptable thisObj,
Object[] args)</CODE></A>
of <i>callable</i> under restricted security domain where an action is
allowed only if it is allowed according to the Java stack on the
moment of the <i>execWithDomain</i> call and <i>securityDomain</i>.
Any call to <A HREF="../../../org/mozilla/javascript/SecurityController.html#getDynamicSecurityDomain(java.lang.Object)"><CODE>getDynamicSecurityDomain(Object)</CODE></A> during
execution of <tt>callable.call(cx, scope, thisObj, args)</tt>
should return a domain incorporate restrictions imposed by
<i>securityDomain</i> and Java stack on the moment of callWithDomain
invocation.
<p>
The method should always be overridden, it is not declared abstract
for compatibility reasons.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="execWithDomain(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Script, java.lang.Object)"><!-- --></A><H3>
execWithDomain</H3>
<PRE>
public java.lang.Object <B>execWithDomain</B>(<A HREF="../../../org/mozilla/javascript/Context.html" title="class in org.mozilla.javascript">Context</A> cx,
<A HREF="../../../org/mozilla/javascript/Scriptable.html" title="interface in org.mozilla.javascript">Scriptable</A> scope,
<A HREF="../../../org/mozilla/javascript/Script.html" title="interface in org.mozilla.javascript">Script</A> script,
java.lang.Object securityDomain)</PRE>
<DL>
<DD><B>Deprecated.</B> <I>The application should not override this method and instead
override
<A HREF="../../../org/mozilla/javascript/SecurityController.html#callWithDomain(java.lang.Object, org.mozilla.javascript.Context, org.mozilla.javascript.Callable, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])"><CODE>callWithDomain(Object securityDomain, Context cx, Callable callable, Scriptable scope, Scriptable thisObj, Object[] args)</CODE></A>.</I>
<P>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../org/mozilla/javascript/ScriptableObject.html" title="class in org.mozilla.javascript"><B>PREV CLASS</B></A>
<A HREF="../../../org/mozilla/javascript/Synchronizer.html" title="class in org.mozilla.javascript"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?org/mozilla/javascript/SecurityController.html" target="_top"><B>FRAMES</B></A>
<A HREF="SecurityController.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>