I've spent some time investigating it but won't have time to implement it before July. In case anyone wants to give it a try (and to save my investigation for later use), my suggestion is to:
- create a new Linker that extends DirectInstallLinker and replaces getJsInstallLocation method, linking to another script that doesn't set inline "javascript::" in iframe.src and doesn't use document.open/close/write (the current offending script is com/google/gwt/core/ext/linker/impl/installLocationIframe.js)
- create a permutation variable that is enabled for Chrome Packaged Apps builds;
- create a version of WindowImpl.java for the ChromeApps permutation that doesn't use onunload and onbeforeunload (maybe replace by chrome.app.window.onClose)
Creating the permutation variable allows for widget override in case other widgets are also not compatible.
It shouldn't be more than a handful of hours/work for seasoned Java devs. If someone is willing to try it, please let me know.