Update some old selection script templates for modern dev mode

Copied the definition of isHostedMode() in from IFrameLinker's template, which is really the most up to date. Without this change, trying to run hosted mode on some of these linkers erroneously gives the "this module needs to be recompiled" message instead of the better "this linker doesn't support hosted mode".

http://gwt-code-reviews.appspot.com/376801/show
Review by: jat


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@7957 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/HostedModeTemplate.js b/dev/core/src/com/google/gwt/core/ext/linker/impl/HostedModeTemplate.js
index c8f6c9d..277ddf2 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/HostedModeTemplate.js
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/HostedModeTemplate.js
@@ -70,17 +70,19 @@
   // --------------- INTERNAL FUNCTIONS ---------------
 
   function isHostedMode() {
+    var result = false;
     try {
       var query = $wnd.location.search;
-      return (query.indexOf('gwt.codesvr=') != -1 
+      return (query.indexOf('gwt.codesvr=') != -1
           || query.indexOf('gwt.hosted=') != -1 
           || ($wnd.external && $wnd.external.gwtOnLoad)) &&
           (query.indexOf('gwt.hybrid') == -1);
     } catch (e) {
       // Defensive: some versions of IE7 reportedly can throw an exception
       // evaluating "external.gwtOnLoad".
-      return false;
     }
+    isHostedMode = function() { return result; };
+    return result;
   }
 
   // Called by onScriptLoad(), onInjectionDone(), and onload(). It causes
diff --git a/dev/core/src/com/google/gwt/core/linker/SingleScriptTemplate.js b/dev/core/src/com/google/gwt/core/linker/SingleScriptTemplate.js
index 3668e91..487c250 100644
--- a/dev/core/src/com/google/gwt/core/linker/SingleScriptTemplate.js
+++ b/dev/core/src/com/google/gwt/core/linker/SingleScriptTemplate.js
@@ -56,14 +56,19 @@
   // --------------- INTERNAL FUNCTIONS ---------------
 
   function isHostedMode() {
+    var result = false;
     try {
-      return ($wnd.external && $wnd.external.gwtOnLoad &&
-          ($wnd.location.search.indexOf('gwt.hybrid') == -1));
+      var query = $wnd.location.search;
+      return (query.indexOf('gwt.codesvr=') != -1
+          || query.indexOf('gwt.hosted=') != -1 
+          || ($wnd.external && $wnd.external.gwtOnLoad)) &&
+          (query.indexOf('gwt.hybrid') == -1);
     } catch (e) {
       // Defensive: some versions of IE7 reportedly can throw an exception
       // evaluating "external.gwtOnLoad".
-      return false;
     }
+    isHostedMode = function() { return result; };
+    return result;
   }
   
   // Called by onScriptLoad() and onload(). It causes
diff --git a/dev/core/src/com/google/gwt/core/linker/XSTemplate.js b/dev/core/src/com/google/gwt/core/linker/XSTemplate.js
index 81498f1..9d53a01 100644
--- a/dev/core/src/com/google/gwt/core/linker/XSTemplate.js
+++ b/dev/core/src/com/google/gwt/core/linker/XSTemplate.js
@@ -70,14 +70,19 @@
   // --------------- INTERNAL FUNCTIONS ---------------
 
   function isHostedMode() {
+    var result = false;
     try {
-      return ($wnd.external && $wnd.external.gwtOnLoad &&
-          ($wnd.location.search.indexOf('gwt.hybrid') == -1));
+      var query = $wnd.location.search;
+      return (query.indexOf('gwt.codesvr=') != -1
+          || query.indexOf('gwt.hosted=') != -1 
+          || ($wnd.external && $wnd.external.gwtOnLoad)) &&
+          (query.indexOf('gwt.hybrid') == -1);
     } catch (e) {
       // Defensive: some versions of IE7 reportedly can throw an exception
       // evaluating "external.gwtOnLoad".
-      return false;
     }
+    isHostedMode = function() { return result; };
+    return result;
   }
   
   // Called by onScriptLoad() and onload(). It causes