diff -r 3d1612be40bc -r b8e33a00bfab rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Thu Nov 07 09:41:45 2013 +0100 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Thu Jan 09 08:21:26 2014 +0100 @@ -1623,6 +1623,7 @@ String[] args = new String[30]; String body; boolean javacall; + boolean html4j; @Override protected void visitAttr(String type, String attr, String at, String value) { @@ -1636,6 +1637,7 @@ } } if (type.equals(htmlType)) { + html4j = true; if ("body".equals(attr)) { body = value; } else if ("args".equals(attr)) { @@ -1659,12 +1661,18 @@ out.append(" = function("); String space = ""; int index = 0; + StringBuilder toValue = new StringBuilder(); for (int i = 0; i < cnt.length(); i++) { out.append(space); space = outputArg(out, p.args, index); + if (p.html4j && space.length() > 0) { + toValue.append("\n ").append(p.args[index]).append(" = vm.org_apidesign_bck2brwsr_emul_lang_System(false).toJS("). + append(p.args[index]).append(");"); + } index++; } out.append(") {").append("\n"); + out.append(toValue.toString()); if (p.javacall) { int lastSlash = jc.getClassName().lastIndexOf('/'); final String pkg = jc.getClassName().substring(0, lastSlash);