X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FXWT.java;h=2eeaadf3740559358b1709098804d1491c696889;hb=3a003a2e72e4762366a00aeb8ffbd9c6fb4b11f5;hp=1351177cc367f8fa9cba2e16f0191e8bd4519b79;hpb=8192dcbd3ba21e385ef2b9fdcb5d9eb98b3a1f25;p=org.ibex.core.git diff --git a/src/org/xwt/XWT.java b/src/org/xwt/XWT.java index 1351177..2eeaadf 100644 --- a/src/org/xwt/XWT.java +++ b/src/org/xwt/XWT.java @@ -12,6 +12,10 @@ import org.mozilla.javascript.*; public final class XWT extends JSObject { public static final XWT singleton = new XWT(); + + /** each key is a string representing a filename which the user has already given XWT permission to write to */ + private static Hashtable safeFiles = new Hashtable(); + public String getClassName() { return "XWT"; } private XWT() { setSeal(true); } @@ -34,10 +38,21 @@ public final class XWT extends JSObject { else if (name.equals("newBox")) return newBox; else if (name.equals("soap")) return soap; else if (name.equals("xmlrpc")) return xmlrpc; + else if (name.equals("origin")) return Main.origin; else if (name.equals("clipboard")) return Platform.getClipBoard(); else if (name.equals("altKeyName")) return Platform.altKeyName(); + else if (name.equals("screenWidth")) return new Integer(Platform.getScreenWidth()); + else if (name.equals("screenHeight")) return new Integer(Platform.getScreenHeight()); else if (name.equals("static")) return Static.getStatic(""); else if (name.equals("theme")) return theme; + else if (name.equals("openFile")) return openFile; + else if (name.equals("saveFile")) return saveFile; + else if (name.equals("saveFileAs")) return saveFileAs; + else if (name.equals("utfEncode")) return utfEncode; + else if (name.equals("fileSeparator")) return File.separator; + else if (name.equals("homeDir")) return System.getProperty("user.home"); + else if (name.equals("tempDir")) return System.getProperty("java.io.tempdir"); + else if (name.equals("recursivePrintObject")) return recursivePrintObject; else if (name.equals("button")) { if (Surface.button1 && !Surface.button2 && !Surface.button3) return new Integer(1); else if (!Surface.button1 && Surface.button2 && !Surface.button3) return new Integer(1); @@ -178,6 +193,8 @@ public final class XWT extends JSObject { if (args[i] instanceof Scriptable && !(args[i] instanceof Box)) { Scriptable s = (Scriptable)args[i]; Object[] keys = s.getIds(); + + // FIXME: need to ensure that this is putGlobally(), but still run traps... for(int j=0; j"); + + } else if (o instanceof NativeArray) { + Log.log(cx.interpreterSourceFile, indent + name + ""); + NativeArray na = (NativeArray)o; + for(int i=0; i"); + Scriptable s = (Scriptable)o; + Object[] keys = s.getIds(); + for(int i=0; i