diff -r 5aa8bc3c98b0 -r 9cc253aa9405 javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Element.java --- a/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Element.java Sun Apr 14 11:51:58 2013 +0200 +++ b/javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/Element.java Thu Apr 18 16:58:55 2013 +0200 @@ -47,14 +47,34 @@ body="var e = window.document.getElementById(el._id());\n" + "e[property] = value;\n" ) - static native void setAttribute(Element el, String property, Object value); + static void setAttribute(Element el, String property, Object value) { + JSObject js = (JSObject) web().executeScript("(function () {" + + " var x = {}; " + + " x.setAttribute = function(id, property, value) { " + + " var e = window.document.getElementById(id);\n" + + " e[property] = value;" + + " };" + + " return x;" + + "})()"); + js.call("setAttribute", el.id, property, value); + } @JavaScriptBody( args={"el", "property"}, body="var e = window.document.getElementById(el._id());\n" + "return e[property];\n" ) - static native Object getAttribute(Element el, String property); + static Object getAttribute(Element el, String property) { + JSObject js = (JSObject) web().executeScript("(function () {" + + " var x = {}; " + + " x.getAttribute = function(id, property) { " + + " var e = window.document.getElementById(id);\n" + + " return e[property];" + + " };" + + " return x;" + + "})()"); + return js.call("getAttribute", el.id, property); + } @JavaScriptBody( args={"el"},