}
public Object put(Object name, final Object value) {
- if (name.equals("thread") && value != null && (value instanceof JS.Callable || value instanceof JS.CompiledFunction)) {
+ if (name.equals("thread") && value != null && (value instanceof JS.Callable || value instanceof Function)) {
Scheduler.add(new Scheduler.Task() { public void perform() {
- new JS.Context((CompiledFunction)value, null, null).resume(null);
+ new JS.Context((Function)value, null).resume();
} });
} else if (name.equals("clipboard")) Platform.setClipBoard(value.toString());
else if (name.equals("frame")) Platform.createSurface((Box)value, true, true);
if (checkOnly) return Boolean.TRUE;
return new Res.Zip((Res)args.elementAt(0));
+ } else if (method.equals("uncab")) {
+ if (checkOnly) return Boolean.TRUE;
+ return new Res.Cab((Res)args.elementAt(0));
+
} else if (method.equals("watchProgress")) {
if (checkOnly) return Boolean.TRUE;
- return new Res.ProgressWatcher((Res)args.elementAt(0), (JS.CompiledFunction)args.elementAt(1));
+ return new Res.ProgressWatcher((Res)args.elementAt(0), (Function)args.elementAt(1));
} else if (method.equals("yield")) {
if (checkOnly) return Boolean.TRUE;
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(null);
+ else jsthread.resume();
} };
Scheduler.add(task);
return JS.Context.pause;
}
public Object get(Object key) {
Object ret = super.get(key);
- if(ret == null) ret = JS.Math.get(key);
+ if(ret == null) ret = org.xwt.js.Math.singleton.get(key);
return ret;
}
}