cjolif 2003/03/14 03:15:52 Added: sources/org/apache/batik/script/rhino BatikSecurityController.java BatikWrapFactory.java Log: replacement for BatikSecuritySupport and EventTargetWrapHandler for new APIs introduced in Rhino15R4. Revision Changes Path 1.1 xml-batik/sources/org/apache/batik/script/rhino/BatikSecurityController.java Index: BatikSecurityController.java =================================================================== /***************************************************************************** * Copyright (C) The Apache Software Foundation. All rights reserved. * *---------------------------------------------------------------------------* * This software is published under the terms of the Apache Software License * * version 1.1, a copy of which has been included with this distribution in * * the LICENSE file. * *****************************************************************************/ package org.apache.batik.script.rhino; import java.net.URL; import java.net.URLClassLoader; import org.apache.batik.util.BatikSecurityManager; import org.mozilla.javascript.Context; import org.mozilla.javascript.GeneratedClassLoader; import org.mozilla.javascript.JavaScriptException; import org.mozilla.javascript.SecurityController; import org.mozilla.javascript.Script; import org.mozilla.javascript.Scriptable; /** * This implementation of the Rhino <tt>SecurityController</tt> interface is * meant for use within the context of Batik only. It is a partial * implementation of the interface that does what is needed by Batik and * no more. * * @author <a href="mailto:[EMAIL PROTECTED]">Christophe Jolif</a> * @version $Id: BatikSecurityController.java,v 1.1 2003/03/14 11:15:52 cjolif Exp $ */ public class BatikSecurityController extends SecurityController { /** * Default constructor */ public GeneratedClassLoader createClassLoader(final ClassLoader parentLoader, Object securityDomain) { return (RhinoClassLoader)securityDomain; } /** * 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. */ public Object getDynamicSecurityDomain(Object securityDomain) { return securityDomain; } /** * Call [EMAIL PROTECTED] Script#exec(Context cx, Scriptable scope)} of * <i>script</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 [EMAIL PROTECTED] #getDynamicSecurityDomain(Object)} during * execution of [EMAIL PROTECTED] Script#exec(Context cx, Scriptable scope)} * should return a domain incorporate restrictions imposed by * <i>securityDomain</i>. */ public Object execWithDomain(final Context cx, final Scriptable scope, final Script script, Object securityDomain) throws JavaScriptException { return script.exec(cx, scope); } } 1.1 xml-batik/sources/org/apache/batik/script/rhino/BatikWrapFactory.java Index: BatikWrapFactory.java =================================================================== /***************************************************************************** * Copyright (C) The Apache Software Foundation. All rights reserved. * *---------------------------------------------------------------------------* * This software is published under the terms of the Apache Software License * * version 1.1, a copy of which has been included with this distribution in * * the LICENSE file. * *****************************************************************************/ package org.apache.batik.script.rhino; import org.mozilla.javascript.Context; import org.mozilla.javascript.WrapFactory; import org.mozilla.javascript.Scriptable; import org.w3c.dom.events.EventTarget; /** * This is an utility class allowing to pass an ECMAScript function * as a parameter of the <code>addEventListener</code> method of * <code>EventTarget</code> objects as DOM Level 2 recommendation * required. * @author <a href="mailto:[EMAIL PROTECTED]">Christophe Jolif</a> * @version $Id: BatikWrapFactory.java,v 1.1 2003/03/14 11:15:52 cjolif Exp $ */ class BatikWrapFactory extends WrapFactory { private RhinoInterpreter interpreter; public BatikWrapFactory(RhinoInterpreter interp) { interpreter = interp; setJavaPrimitiveWrap(false); } public Object wrap(Context ctx, Scriptable scope, Object obj, Class staticType) { if (obj instanceof EventTarget) { return interpreter.buildEventTargetWrapper((EventTarget)obj); } return super.wrap(ctx, scope, obj, staticType); } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]