Cherrypick r11349 into 2.5 branch Link to TroubleshootingOOPHM instead of embedding in iframe Review by: rdayal@google.com git-svn-id: https://google-web-toolkit.googlecode.com/svn/releases/2.5@11350 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/devmode.js b/dev/core/src/com/google/gwt/core/ext/linker/impl/devmode.js index aebf9c7..1b1e354 100644 --- a/dev/core/src/com/google/gwt/core/ext/linker/impl/devmode.js +++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/devmode.js
@@ -122,8 +122,8 @@ 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;">' + simpleEscape(summary) + '</div>' + - '<div style="font-size:15px;">' + simpleEscape(details) + '</div>' + + '<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>' @@ -154,7 +154,7 @@ glassStyle.setExpression("height", "document.documentElement.clientHeight"); } - $doc.title = simpleEscape(summary) + " [" + $doc.title + "]"; + $doc.title = summary + " [" + $doc.title + "]"; } @@ -321,9 +321,11 @@ if ($errFn) { $errFn($moduleName); } else { - __gwt_displayGlassMessage("Plugin failed to connect to Development Mode server at " + codeServer, - "Follow the underlying troubleshooting instructions"); - loadIframe("http://code.google.com/p/google-web-toolkit/wiki/TroubleshootingOOPHM"); + __gwt_displayGlassMessage( + "Plugin failed to connect to Development Mode server at " + simpleEscape(codeServer), + "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>"); } }
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/hosted.html b/dev/core/src/com/google/gwt/core/ext/linker/impl/hosted.html index 4c82193..267fdf7 100644 --- a/dev/core/src/com/google/gwt/core/ext/linker/impl/hosted.html +++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/hosted.html
@@ -175,8 +175,8 @@ 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;">' + simpleEscape(summary) + '</div>' + - '<div style="font-size:15px;">' + simpleEscape(details) + '</div>' + + '<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>' @@ -207,7 +207,7 @@ glassStyle.setExpression("height", "document.documentElement.clientHeight"); } - $doc.title = simpleEscape(summary) + " [" + $doc.title + "]"; + $doc.title = summary + " [" + $doc.title + "]"; } function findPluginObject() { @@ -294,9 +294,11 @@ if (errFn) { errFn(modName); } else { - __gwt_displayGlassMessage("Plugin failed to connect to Development Mode server at " + $hosted, - "Follow the underlying troubleshooting instructions"); - loadIframe("http://code.google.com/p/google-web-toolkit/wiki/TroubleshootingOOPHM"); + __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>"); } } }
diff --git a/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java b/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java index 9a11514..b724854 100644 --- a/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java +++ b/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
@@ -18,6 +18,7 @@ import com.google.gwt.core.ext.TreeLogger; import com.google.gwt.core.ext.UnableToCompleteException; import com.google.gwt.dev.util.Name; +import com.google.gwt.dev.util.Util; import com.google.gwt.dev.util.Name.BinaryName; import com.google.gwt.dev.util.log.speedtracer.DevModeEventType; import com.google.gwt.dev.util.log.speedtracer.SpeedTracerLogger; @@ -614,17 +615,18 @@ String summary, String entryPointTypeName, Throwable e) throws Throwable { StringWriter writer = new StringWriter(); e.printStackTrace(new PrintWriter(writer)); - String stackTrace = writer.toString().replaceFirst( + String stackTrace = Util.escapeXml(writer.toString()).replaceFirst( // (?ms) for regex pattern modifiers MULTILINE and DOTALL "(?ms)(Caused by:.+)", "<b>$1</b>"); String details = "<p>Exception while loading module <b>" - + entryPointTypeName + "</b>. See Development Mode for details.</p>" + + Util.escapeXml(entryPointTypeName) + "</b>." + + " See Development Mode for details.</p>" + "<div style='overflow:visisble;white-space:pre;'>" + stackTrace + "</div>"; invokeNativeVoid("__gwt_displayGlassMessage", null, - new Class[]{String.class, String.class}, - new Object[]{summary, details}); + new Class[] { String.class, String.class }, + new Object[] { Util.escapeXml(summary), details }); } private boolean isUserFrame(StackTraceElement element) {