# HG changeset patch # User Jaroslav Tulach # Date 1430035132 -10800 # Node ID f07753959dcf0be994a17afb2d14e7200bd0c7a0 # Parent 511463a1733d0dc56338c37cf5ccb48b56133e74 Automatically close the browser windows unless such action gets canceled. diff -r 511463a1733d -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 Mon Apr 20 10:03:12 2015 +0300 +++ 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;