Defer starting compiles until body is available.
Change-Id: Iae594b518d11024859bb8a17056bedac2e4e4beb
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/recompile_template.js b/dev/codeserver/java/com/google/gwt/dev/codeserver/recompile_template.js
index 0afd4a5..48ce22b 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/recompile_template.js
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/recompile_template.js
@@ -18,7 +18,21 @@
var $doc = $wnd.document;
var $namespace = {};
var moduleName = __MODULE_NAME__;
- __PROPERTY_PROVIDERS__
- __LIB_JS__
- __MAIN__
+
+ var executeMain = function(){
+ __PROPERTY_PROVIDERS__
+ __LIB_JS__
+ __MAIN__
+ };
+
+ if (/loaded|complete/.test($doc.readyState)) {
+ executeMain();
+ } else {
+ //defer app script insertion until the body is ready
+ if($wnd.addEventListener){
+ $wnd.addEventListener('DOMContentLoaded', executeMain, false);
+ } else{
+ $wnd.attachEvent('onload', executeMain);
+ }
+ }
})();