1.1 --- a/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java Thu Aug 08 11:20:14 2013 -0300 1.2 +++ b/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java Fri Aug 09 20:48:44 2013 +0530 1.3 @@ -25,14 +25,17 @@ 1.4 1.5 package jdk.nashorn.api.scripting; 1.6 1.7 +import java.security.AccessControlContext; 1.8 import java.security.AccessController; 1.9 +import java.security.Permissions; 1.10 import java.security.PrivilegedAction; 1.11 +import java.security.ProtectionDomain; 1.12 import java.util.AbstractMap; 1.13 import java.util.ArrayList; 1.14 import java.util.Collection; 1.15 import java.util.Collections; 1.16 +import java.util.Iterator; 1.17 import java.util.LinkedHashSet; 1.18 -import java.util.Iterator; 1.19 import java.util.List; 1.20 import java.util.Map; 1.21 import java.util.Set; 1.22 @@ -49,6 +52,14 @@ 1.23 * netscape.javascript.JSObject interface. 1.24 */ 1.25 public final class ScriptObjectMirror extends JSObject implements Bindings { 1.26 + private static AccessControlContext getContextAccCtxt() { 1.27 + final Permissions perms = new Permissions(); 1.28 + perms.add(new RuntimePermission(Context.NASHORN_GET_CONTEXT)); 1.29 + return new AccessControlContext(new ProtectionDomain[] { new ProtectionDomain(null, perms) }); 1.30 + } 1.31 + 1.32 + private static final AccessControlContext GET_CONTEXT_ACC_CTXT = getContextAccCtxt(); 1.33 + 1.34 private final ScriptObject sobj; 1.35 private final ScriptObject global; 1.36 1.37 @@ -144,7 +155,7 @@ 1.38 public Context run() { 1.39 return Context.getContext(); 1.40 } 1.41 - }); 1.42 + }, GET_CONTEXT_ACC_CTXT); 1.43 return wrap(context.eval(global, s, null, null, false), global); 1.44 } 1.45 });