diff -r ea12a3bb4b33 -r f07753959dcf launcher/http/src/main/java/org/apidesign/bck2brwsr/launcher/impl/Console.java --- a/launcher/http/src/main/java/org/apidesign/bck2brwsr/launcher/impl/Console.java Tue Feb 24 11:12:53 2015 +0100 +++ b/launcher/http/src/main/java/org/apidesign/bck2brwsr/launcher/impl/Console.java Sun Apr 26 10:58:52 2015 +0300 @@ -53,8 +53,16 @@ "elem[attr] = value;") private static native void setAttr(Object id, String attr, Object value); - @JavaScriptBody(args = {}, body = "return; window.close();") - private static native void closeWindow(); + @net.java.html.js.JavaScriptBody(args = { }, body = + "var a = document.createElement('a');" + + "a.innerHTML = 'Cancel: closing in 10s...';\n" + + "a.href = '#';\n" + + "var closing = window.setTimeout(function() { window.close(); }, 10000);\n" + + "a.onclick = function() { clearTimeout(closing); document.body.removeChild(a); };\n" + + "document.body.appendChild(a);\n" + + "return;\n" + ) + static native void closeWindow(); private static Object textArea; private static Object statusArea;