summaryrefslogtreecommitdiff
path: root/public/jsme_bak/hosted.html
diff options
context:
space:
mode:
Diffstat (limited to 'public/jsme_bak/hosted.html')
-rw-r--r--public/jsme_bak/hosted.html365
1 files changed, 365 insertions, 0 deletions
diff --git a/public/jsme_bak/hosted.html b/public/jsme_bak/hosted.html
new file mode 100644
index 0000000..48b87f3
--- /dev/null
+++ b/public/jsme_bak/hosted.html
@@ -0,0 +1,365 @@
+<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.1";
+
+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);
+ };
+ // do the same in our parent as well -- see issue 4486
+ // NOTE: this will have to be changed when we support non-iframe-based DevMode
+ var hop2 = parent.Object.prototype.hasOwnProperty;
+ parent.Object.prototype.hasOwnProperty = function(prop) {
+ return prop != "__gwt_ObjectId" && hop2.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() {
+ __gwt_displayGlassMessage('GWT Code Server Disconnected',
+ 'Most likely, you closed GWT Development Mode. Or, you might have lost '
+ + 'network connectivity. To fix this, try restarting GWT Development Mode and '
+ + 'refresh this page.');
+}
+
+// Keep track of z-index to allow layering of multiple glass messages
+var __gwt_glassMessageZIndex = 2147483647;
+
+// Note this method is also used by ModuleSpace.java
+function __gwt_displayGlassMessage(summary, details) {
+ 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:' + __gwt_glassMessageZIndex-- +
+ ';left:50px;top:50px;width:600px;color:#FFF;font-family:verdana;text-align:left;">' +
+ '<div style="font-size:30px;font-weight:bold;">' + summary + '</div>' +
+ '<div style="font-size:15px;">' + details + '</div>' +
+ '</div>' +
+ '<div style="position:absolute;z-index:' + __gwt_glassMessageZIndex-- +
+ ';left:0px;top:0px;right:0px;bottom:0px;filter:alpha(opacity=60);opacity:0.6;background-color:#000;"></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");
+ }
+
+ $doc.title = summary + " [" + $doc.title + "]";
+}
+
+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 {
+ __gwt_displayGlassMessage(
+ "Plugin failed to connect to Development Mode server at " + simpleEscape($hosted),
+ "Follow the troubleshooting instructions at "
+ + "<a href='http://code.google.com/p/google-web-toolkit/wiki/TroubleshootingOOPHM'>"
+ + "http://code.google.com/p/google-web-toolkit/wiki/TroubleshootingOOPHM</a>");
+ }
+ }
+ }
+}
+
+function simpleEscape(originalString) {
+ return originalString.replace(/&/g,"&amp;")
+ .replace(/</g,"&lt;")
+ .replace(/>/g,"&gt;")
+ .replace(/\'/g, "&#39;")
+ .replace(/\"/g,"&quot;");
+}
+
+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 Development 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>