X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FXWT.java;h=53514eded79b15ac7e3d62408221cf69ca67c827;hb=ee179c3ff98348acc2f7b5695440ac06a00bc475;hp=0c01e67cd0e2654c67562472695664a3a8b813e7;hpb=55ba92deb32e860a485d544479850e98288cee43;p=org.ibex.core.git diff --git a/src/org/xwt/XWT.java b/src/org/xwt/XWT.java index 0c01e67..53514ed 100644 --- a/src/org/xwt/XWT.java +++ b/src/org/xwt/XWT.java @@ -88,6 +88,10 @@ public final class XWT extends JS.Obj { if (checkOnly) return Boolean.TRUE; return new Res.Cab((Res)args.elementAt(0)); + } else if (method.equals("cache")) { + if (checkOnly) return Boolean.TRUE; + return new Res.CachedRes((Res)args.elementAt(0), "resources", true); + } else if (method.equals("watchProgress")) { if (checkOnly) return Boolean.TRUE; return new Res.ProgressWatcher((Res)args.elementAt(0), (Function)args.elementAt(1)); @@ -195,15 +199,15 @@ public final class XWT extends JS.Obj { } } + // FIXME public static Object sleep(final int i) { final JS.Context jsthread = JS.Context.current(); final long currentTime = System.currentTimeMillis(); - final Scheduler.Task task = new Scheduler.Task() { public void perform() { - // FIXME: don't busy-wait - if (System.currentTimeMillis() - currentTime < i) Scheduler.add(this); - else jsthread.resume(); - } }; - Scheduler.add(task); + new Thread() { public void run() { + try { Thread.sleep(i); } catch (InterruptedException e) { } + Scheduler.add(new Scheduler.Task() { public void perform() { + jsthread.resume(); + } }); } }.start(); return JS.Context.pause; }