2003/07/09 03:03:36
authorbrian <brian@xwt.org>
Fri, 30 Jan 2004 07:03:41 +0000 (07:03 +0000)
committerbrian <brian@xwt.org>
Fri, 30 Jan 2004 07:03:41 +0000 (07:03 +0000)
darcs-hash:20040130070341-aa32f-5624a13fadcaba466c0bf5a3681100faf81b0bdb.gz

src/org/xwt/XWT.java
src/org/xwt/js/GlobalScopeImpl.java

index 8c9debb..38fea3e 100644 (file)
@@ -383,6 +383,7 @@ public final class XWT extends JS.Obj {
             put("decodeURIComponent",gs.get("decodeURIComponent"));
             put("encodeURI",gs.get("encodeURI"));
             put("encodeURIComponent",gs.get("encodeURIComponent"));
+            put("fromCharCode",gs.get("stringFromCharCode"));
             setSeal(true);
         }
     }
index e9b5680..899b672 100644 (file)
@@ -38,9 +38,18 @@ class GlobalScopeImpl extends JS.Scope {
         } else if(method.equals("encodeURIComponent")) {
             if(checkOnly) return Boolean.TRUE;
             return encodeURIComponent(args);
+        } else if(method.equals("stringFromCharCode")) {
+            if(checkOnly) return Boolean.TRUE;
+            return stringFromCharCode(args);
         }
         return super.callMethod(method,args,checkOnly);
     }
+    private Object stringFromCharCode(JS.Array args) {
+        char buf[] = new char[args.length()];
+        for(int i=0;i<args.length();i++)
+            buf[i] = (char)(JS.toInt(args.elementAt(i)) & 0xffff);
+        return new String(buf);
+    }
     private Object parseInt(JS.Array args) {
         String s = args.length() > 0 ? args.elementAt(0).toString() : "";
         int radix = args.length() > 1 ? toInt(args.elementAt(1)) : 0;