X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Forg%2Fxwt%2FXWT.java;h=811a64304345a427aba554d9853ba61416e06fb9;hb=0b0673bbc7f06c5d5418d5ab7ad5961a464e2de0;hp=e14d38640481255f433da40b72504b8a42068db4;hpb=7f5df8070a5551fe66abd11a589677e285ca62f8;p=org.ibex.core.git diff --git a/src/org/xwt/XWT.java b/src/org/xwt/XWT.java index e14d386..811a643 100644 --- a/src/org/xwt/XWT.java +++ b/src/org/xwt/XWT.java @@ -59,8 +59,7 @@ public final class XWT extends JSCallable { case "undocumented": return new Sub("undocumented"); case "undocumented.internal": return new Sub("undocumented.internal"); //#end - - return null; + return null; } public Object get(Object name) { @@ -117,7 +116,14 @@ public final class XWT extends JSCallable { case "res.uncab": return new Res.Cab((Res)a); case "res.cache": try { return new Res.CachedRes((Res)a, "resources", true); } catch (Res.NotCacheableException e) { throw new JS.Exn("this resource cannot be cached"); } - case "res.url": return Res.fromString((String)a); + case "res.url": + String url = (String)a; + if (url.startsWith("http://")) return new Res.HTTP(url); + else if (url.startsWith("https://")) return new Res.HTTP(url); + else if (url.startsWith("data:")) return new Res.ByteArray(Base64.decode(url.substring(5)), null); + else if (url.startsWith("utf8:")) return new Res.ByteArray(url.substring(5).getBytes(), null); + throw new JS.Exn("invalid resource specifier " + url); + case "thread.sleep": sleep(JS.toInt(a)); return null; case "log.println": Log.logJS(this, a== null ? "**null**" : a.toString()); return null; case "log.dump": Log.recursiveLog("","",a); return null;