forked from Coded/SIPRP
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							334 lines
						
					
					
						
							10 KiB
						
					
					
				
			
		
		
	
	
							334 lines
						
					
					
						
							10 KiB
						
					
					
				| <html>
 | |
| <head><script>
 | |
| var $wnd = parent;
 | |
| var $doc = $wnd.document;
 | |
| var $moduleName, $moduleBase, $entry
 | |
| ,$stats = $wnd.__gwtStatsEvent ? function(a) {return $wnd.__gwtStatsEvent(a);} : null
 | |
| ,$sessionId = $wnd.__gwtStatsSessionId ? $wnd.__gwtStatsSessionId : null;
 | |
| // Lightweight metrics
 | |
| if ($stats) {
 | |
|   var moduleFuncName = location.search.substr(1);
 | |
|   var moduleFunc = $wnd[moduleFuncName];
 | |
|   var moduleName = moduleFunc ? moduleFunc.moduleName : "unknown";
 | |
|   $stats({moduleName:moduleName,sessionId:$sessionId,subSystem:'startup',evtGroup:'moduleStartup',millis:(new Date()).getTime(),type:'moduleEvalStart'});
 | |
| }
 | |
| var $hostedHtmlVersion="2.0";
 | |
| 
 | |
| var gwtOnLoad;
 | |
| var $hosted = "localhost:9997";
 | |
| 
 | |
| function loadIframe(url) {
 | |
|   var topDoc = window.top.document;
 | |
| 
 | |
|   // create an iframe
 | |
|   var iframeDiv = topDoc.createElement("div");
 | |
|   iframeDiv.innerHTML = "<iframe scrolling=no frameborder=0 src='" + url + "'>";
 | |
|   var iframe = iframeDiv.firstChild;
 | |
|   
 | |
|   // mess with the iframe style a little
 | |
|   var iframeStyle = iframe.style;
 | |
|   iframeStyle.position = "absolute";
 | |
|   iframeStyle.borderWidth = "0";
 | |
|   iframeStyle.left = "0";
 | |
|   iframeStyle.top = "0";
 | |
|   iframeStyle.width = "100%";
 | |
|   iframeStyle.backgroundColor = "#ffffff";
 | |
|   iframeStyle.zIndex = "1";
 | |
|   iframeStyle.height = "100%";
 | |
| 
 | |
|   // update the top window's document's body's style
 | |
|   var hostBodyStyle = window.top.document.body.style; 
 | |
|   hostBodyStyle.margin = "0";
 | |
|   hostBodyStyle.height = iframeStyle.height;
 | |
|   hostBodyStyle.overflow = "hidden";
 | |
| 
 | |
|   // insert the iframe
 | |
|   topDoc.body.insertBefore(iframe, topDoc.body.firstChild);
 | |
| }
 | |
| 
 | |
| var ua = navigator.userAgent.toLowerCase();
 | |
| if (ua.indexOf("gecko") != -1) {
 | |
|   // install eval wrapper on FF to avoid EvalError problem
 | |
|   var __eval = window.eval;
 | |
|   window.eval = function(s) {
 | |
|     return __eval(s);
 | |
|   }
 | |
| }
 | |
| if (ua.indexOf("chrome") != -1) {
 | |
|   // work around __gwt_ObjectId appearing in JS objects
 | |
|   var hop = Object.prototype.hasOwnProperty;
 | |
|   Object.prototype.hasOwnProperty = function(prop) {
 | |
|     return prop != "__gwt_ObjectId" && hop.call(this, prop);
 | |
|   };
 | |
| }
 | |
| 
 | |
| // wrapper to call JS methods, which we need both to be able to supply a
 | |
| // different this for method lookup and to get the exception back
 | |
| function __gwt_jsInvoke(thisObj, methodName) {
 | |
|   try {
 | |
|     var args = Array.prototype.slice.call(arguments, 2);
 | |
|     return [0, window[methodName].apply(thisObj, args)];
 | |
|   } catch (e) {
 | |
|     return [1, e];
 | |
|   }
 | |
| }
 | |
| 
 | |
| var __gwt_javaInvokes = [];
 | |
| function __gwt_makeJavaInvoke(argCount) {
 | |
|   return __gwt_javaInvokes[argCount] || __gwt_doMakeJavaInvoke(argCount);
 | |
| }
 | |
| 
 | |
| function __gwt_doMakeJavaInvoke(argCount) {
 | |
|   // IE6 won't eval() anonymous functions except as r-values
 | |
|   var argList = "";
 | |
|   for (var i = 0; i < argCount; i++) {
 | |
|     argList += ",p" + i;
 | |
|   }
 | |
|   var argListNoComma = argList.substring(1);
 | |
| 
 | |
|   return eval(
 | |
|     "__gwt_javaInvokes[" + argCount + "] =\n" +
 | |
|     "  function(thisObj, dispId" + argList + ") {\n" +
 | |
|     "    var result = __static(dispId, thisObj" + argList + ");\n" +
 | |
|     "    if (result[0]) {\n" +
 | |
|     "      throw result[1];\n" +
 | |
|     "    } else {\n" +
 | |
|     "      return result[1];\n" +
 | |
|     "    }\n" +
 | |
|     "  }\n"
 | |
|   ); 
 | |
| }
 | |
| 
 | |
| /*
 | |
|  * This is used to create tear-offs of Java methods.  Each function corresponds
 | |
|  * to exactly one dispId, and also embeds the argument count.  We get the "this"
 | |
|  * value from the context in which the function is being executed.
 | |
|  * Function-object identity is preserved by caching in a sparse array.
 | |
|  */
 | |
| var __gwt_tearOffs = [];
 | |
| var __gwt_tearOffGenerators = [];
 | |
| function __gwt_makeTearOff(proxy, dispId, argCount) {
 | |
|   return __gwt_tearOffs[dispId] || __gwt_doMakeTearOff(dispId, argCount);
 | |
| }
 | |
| 
 | |
| function __gwt_doMakeTearOff(dispId, argCount) {
 | |
|   return __gwt_tearOffs[dispId] = 
 | |
|       (__gwt_tearOffGenerators[argCount] || __gwt_doMakeTearOffGenerator(argCount))(dispId);
 | |
| }
 | |
| 
 | |
| function __gwt_doMakeTearOffGenerator(argCount) {
 | |
|   // IE6 won't eval() anonymous functions except as r-values
 | |
|   var argList = "";
 | |
|   for (var i = 0; i < argCount; i++) {
 | |
|     argList += ",p" + i;
 | |
|   }
 | |
|   var argListNoComma = argList.substring(1);
 | |
| 
 | |
|   return eval(
 | |
|     "__gwt_tearOffGenerators[" + argCount + "] =\n" +
 | |
|     "  function(dispId) {\n" +
 | |
|     "    return function(" + argListNoComma + ") {\n" +
 | |
|     "      var result = __static(dispId, this" + argList + ");\n" +
 | |
|     "      if (result[0]) {\n" +
 | |
|     "        throw result[1];\n" +
 | |
|     "      } else {\n" +
 | |
|     "        return result[1];\n" +
 | |
|     "      }\n" +
 | |
|     "    }\n" +
 | |
|     "  }\n"
 | |
|   ); 
 | |
| }
 | |
| 
 | |
| function __gwt_makeResult(isException, result) {
 | |
|   return [isException, result];
 | |
| }
 | |
| 
 | |
| function __gwt_disconnected() {
 | |
|   // Prevent double-invocation.
 | |
|   window.__gwt_disconnected = new Function();
 | |
|   // Do it in a timeout so we can be sure we have a clean stack.
 | |
|   window.setTimeout(__gwt_disconnected_impl, 1);
 | |
| }
 | |
| 
 | |
| function __gwt_disconnected_impl() {
 | |
|   var topWin = window.top;
 | |
|   var topDoc = topWin.document;
 | |
|   var outer = topDoc.createElement("div");
 | |
|   // Do not insert whitespace or outer.firstChild will get a text node.
 | |
|   outer.innerHTML = 
 | |
|     '<div style="position:absolute;z-index:2147483646;left:0px;top:0px;right:0px;bottom:0px;filter:alpha(opacity=75);opacity:0.75;background-color:#000000;"></div>' +
 | |
|     '<div style="position:absolute;z-index:2147483647;left:50px;top:50px;width:600px;color:#FFFFFF;font-family:verdana;">' +
 | |
|       '<div style="font-size:30px;font-weight:bold;">GWT Code Server Disconnected</div>' +
 | |
|       '<p style="font-size:15px;"> Most likely, you closed GWT development mode. Or you might have lost network connectivity. To fix this, try restarting GWT Development Mode and <a style="color: #FFFFFF; font-weight: bold;" href="javascript:location.reload()">REFRESH</a> this page.</p>' +
 | |
|     '</div>'
 | |
|   ;
 | |
|   topDoc.body.appendChild(outer);
 | |
|   var glass = outer.firstChild;
 | |
|   var glassStyle = glass.style;
 | |
| 
 | |
|   // Scroll to the top and remove scrollbars.
 | |
|   topWin.scrollTo(0, 0);
 | |
|   if (topDoc.compatMode == "BackCompat") {
 | |
|     topDoc.body.style["overflow"] = "hidden";
 | |
|   } else {
 | |
|     topDoc.documentElement.style["overflow"] = "hidden";
 | |
|   }
 | |
| 
 | |
|   // Steal focus.
 | |
|   glass.focus();
 | |
| 
 | |
|   if ((navigator.userAgent.indexOf("MSIE") >= 0) && (topDoc.compatMode == "BackCompat")) {
 | |
|     // IE quirks mode doesn't support right/bottom, but does support this.
 | |
|     glassStyle.width = "125%";
 | |
|     glassStyle.height = "100%";
 | |
|   } else if (navigator.userAgent.indexOf("MSIE 6") >= 0) {
 | |
|     // IE6 doesn't have a real standards mode, so we have to use hacks.
 | |
|     glassStyle.width = "125%"; // Get past scroll bar area.
 | |
|     // Nasty CSS; onresize would be better but the outer window won't let us add a listener IE.
 | |
|     glassStyle.setExpression("height", "document.documentElement.clientHeight");
 | |
|   }
 | |
| }
 | |
| 
 | |
| function findPluginObject() {
 | |
|   try {
 | |
|     return document.getElementById('pluginObject');
 | |
|   } catch (e) {
 | |
|     return null;
 | |
|   }
 | |
| }
 | |
| 
 | |
| function findPluginEmbed() {
 | |
|   try {
 | |
|     return document.getElementById('pluginEmbed')
 | |
|   } catch (e) {
 | |
|     return null;
 | |
|   }
 | |
| }
 | |
| 
 | |
| function findPluginXPCOM() {
 | |
|   try {
 | |
|     return __gwt_HostedModePlugin;
 | |
|   } catch (e) {
 | |
|     return null;
 | |
|   }
 | |
| }
 | |
| 
 | |
| gwtOnLoad = function(errFn, modName, modBase){
 | |
|   $moduleName = modName;
 | |
|   $moduleBase = modBase;
 | |
| 
 | |
|   // Note that the order is important
 | |
|   var pluginFinders = [
 | |
|     findPluginXPCOM,
 | |
|     findPluginObject,
 | |
|     findPluginEmbed,
 | |
|   ];
 | |
|   var topWin = window.top;
 | |
|   var url = topWin.location.href;
 | |
|   if (!topWin.__gwt_SessionID) {
 | |
|     var ASCII_EXCLAMATION = 33;
 | |
|     var ASCII_TILDE = 126;
 | |
|     var chars = [];
 | |
|     for (var i = 0; i < 16; ++i) {
 | |
|       chars.push(Math.floor(ASCII_EXCLAMATION
 | |
|           + Math.random() * (ASCII_TILDE - ASCII_EXCLAMATION + 1)));
 | |
|     }
 | |
|     topWin.__gwt_SessionID = String.fromCharCode.apply(null, chars);
 | |
|   }
 | |
|   var plugin = null;
 | |
|   for (var i = 0; i < pluginFinders.length; ++i) {
 | |
|     try {
 | |
|       var maybePlugin = pluginFinders[i]();
 | |
|       if (maybePlugin != null && maybePlugin.init(window)) {
 | |
|         plugin = maybePlugin;
 | |
|         break;
 | |
|       }
 | |
|     } catch (e) {
 | |
|     }
 | |
|   }
 | |
|   if (!plugin) {
 | |
|     // try searching for a v1 plugin for backwards compatibility
 | |
|     var found = false;
 | |
|     for (var i = 0; i < pluginFinders.length; ++i) {
 | |
|       try {
 | |
|         plugin = pluginFinders[i]();
 | |
|         if (plugin != null && plugin.connect($hosted, $moduleName, window)) {
 | |
|           return;
 | |
|         }
 | |
|       } catch (e) {
 | |
|       }
 | |
|     }
 | |
|     loadIframe("http://gwt.google.com/missing-plugin");
 | |
|   } else {
 | |
|     if (plugin.connect(url, topWin.__gwt_SessionID, $hosted, $moduleName,
 | |
|         $hostedHtmlVersion)) {
 | |
|       window.onUnload = function() {
 | |
|         try {
 | |
|           // wrap in try/catch since plugins are not required to supply this
 | |
|           plugin.disconnect();
 | |
|         } catch (e) {
 | |
|         }
 | |
|       };
 | |
|     } else {
 | |
|       if (errFn) {
 | |
|         errFn(modName);
 | |
|       } else {
 | |
|         alert("Plugin failed to connect to hosted mode server at " + $hosted);
 | |
|         loadIframe("http://code.google.com/p/google-web-toolkit/wiki/TroubleshootingOOPHM");
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| }
 | |
| 
 | |
| window.onunload = function() {
 | |
| };
 | |
| 
 | |
| // Lightweight metrics
 | |
| window.fireOnModuleLoadStart = function(className) {
 | |
|   $stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date()).getTime(), type:'onModuleLoadStart', className:className});
 | |
| };
 | |
| 
 | |
| window.__gwt_module_id = 0;
 | |
| </script></head>
 | |
| <body>
 | |
| <font face='arial' size='-1'>This html file is for hosted mode support.</font>
 | |
| <script><!--
 | |
| // Lightweight metrics
 | |
| $stats && $stats({moduleName:$moduleName, sessionId:$sessionId, subSystem:'startup', evtGroup:'moduleStartup', millis:(new Date()).getTime(), type:'moduleEvalEnd'});
 | |
| 
 | |
| // OOPHM currently only supports IFrameLinker
 | |
| var query = parent.location.search;
 | |
| if (!findPluginXPCOM()) {
 | |
|   document.write('<embed id="pluginEmbed" type="application/x-gwt-hosted-mode" width="10" height="10">');
 | |
|   document.write('</embed>');
 | |
|   document.write('<object id="pluginObject" CLASSID="CLSID:1D6156B6-002B-49E7-B5CA-C138FB843B4E">');
 | |
|   document.write('</object>');
 | |
| }
 | |
| 
 | |
| // look for the old query parameter if we don't find the new one
 | |
| var idx = query.indexOf("gwt.codesvr=");
 | |
| if (idx >= 0) {
 | |
|   idx += 12;  // "gwt.codesvr=".length() == 12
 | |
| } else {
 | |
|   idx = query.indexOf("gwt.hosted=");
 | |
|   if (idx >= 0) {
 | |
|     idx += 11;  // "gwt.hosted=".length() == 11
 | |
|   }
 | |
| }
 | |
| if (idx >= 0) {
 | |
|   var amp = query.indexOf("&", idx);
 | |
|   if (amp >= 0) {
 | |
|     $hosted = query.substring(idx, amp);
 | |
|   } else {
 | |
|     $hosted = query.substring(idx);
 | |
|   }
 | |
| 
 | |
|   // According to RFC 3986, some of this component's characters (e.g., ':')
 | |
|   // are reserved and *may* be escaped.
 | |
|   $hosted = decodeURIComponent($hosted);
 | |
| }
 | |
| 
 | |
| query = window.location.search.substring(1);
 | |
| if (query && $wnd[query]) setTimeout($wnd[query].onScriptLoad, 1);
 | |
| --></script></body></html>
 |