You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2011/03/21 10:25:09 UTC

svn commit: r1083712 - /wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java

Author: mgrigorov
Date: Mon Mar 21 09:25:09 2011
New Revision: 1083712

URL: http://svn.apache.org/viewvc?rev=1083712&view=rev
Log:
WICKET-3420 javascript with a less than character ("<") fails to execute when added through a header contribution in ajax response

Wrap the javascript with "<!--/*--><![CDATA[/*><!--*/\n" (org.apache.wicket.util.string.JavaScriptUtils.SCRIPT_CONTENT_PREFIX).
This properly comments the JavaScript and is actually removed by Wicket.Head.Contributor.processScript() in wicket-ajax.js just before creating the new DOM node.

Modified:
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java?rev=1083712&r1=1083711&r2=1083712&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/parser/filter/StyleAndScriptIdentifier.java Mon Mar 21 09:25:09 2011
@@ -24,6 +24,7 @@ import org.apache.wicket.markup.MarkupEl
 import org.apache.wicket.markup.RawMarkup;
 import org.apache.wicket.markup.parser.AbstractMarkupFilter;
 import org.apache.wicket.markup.parser.XmlPullParser;
+import org.apache.wicket.util.string.JavaScriptUtils;
 
 
 /**
@@ -95,7 +96,8 @@ public final class StyleAndScriptIdentif
 								String text = body.toString().trim();
 								if (!text.startsWith("<!--") && !text.startsWith("<![CDATA["))
 								{
-									text = "<![CDATA[" + body.toString() + "]]>";
+									text = JavaScriptUtils.SCRIPT_CONTENT_PREFIX + body.toString() +
+										JavaScriptUtils.SCRIPT_CONTENT_SUFFIX;
 									markup.replace(i + 1, new RawMarkup(text));
 								}
 							}