You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2015/06/26 00:39:24 UTC
wicket git commit: WICKET-5936 split CDATA end with CDATA end+start
Repository: wicket
Updated Branches:
refs/heads/master 7d90522c4 -> 87c38f29e
WICKET-5936 split CDATA end with CDATA end+start
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/87c38f29
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/87c38f29
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/87c38f29
Branch: refs/heads/master
Commit: 87c38f29e09056bb556eac8a70481171e55a3083
Parents: 7d90522
Author: Sven Meier <sv...@apache.org>
Authored: Fri Jun 26 00:38:52 2015 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Fri Jun 26 00:38:52 2015 +0200
----------------------------------------------------------------------
.../wicket/ajax/AbstractAjaxResponse.java | 11 ++----
.../org/apache/wicket/ajax/XmlAjaxResponse.java | 28 ++-------------
.../wicket/ajax/res/js/wicket-ajax-jquery.js | 36 --------------------
.../apache/wicket/TestDetachPageAjaxResult.html | 6 ++--
.../ajax/DomReadyOrderPage_ajax_expected.html | 6 ++--
.../wicket/ajax/MockComponent1-expected.html | 2 +-
.../SimpleTestPageExpectedResult-1.html | 6 ++--
wicket-core/src/test/js/head.js | 22 +-----------
8 files changed, 16 insertions(+), 101 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/87c38f29/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxResponse.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxResponse.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxResponse.java
index c0f3c34..f949171 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxResponse.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxResponse.java
@@ -791,15 +791,8 @@ public abstract class AbstractAjaxResponse
return null;
}
- return Strings.replaceAll(str, "]", "]^").toString();
- }
-
- /**
- * @return name of encoding used to possibly encode the contents of the CDATA blocks
- */
- protected String getEncodingName()
- {
- return "wicket1";
+ // split each CDATA end sequence
+ return Strings.replaceAll(str, "]]>", "]]]]><![CDATA[>").toString();
}
/**
http://git-wip-us.apache.org/repos/asf/wicket/blob/87c38f29/wicket-core/src/main/java/org/apache/wicket/ajax/XmlAjaxResponse.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/XmlAjaxResponse.java b/wicket-core/src/main/java/org/apache/wicket/ajax/XmlAjaxResponse.java
index 80c056e..e7048ec 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/XmlAjaxResponse.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/XmlAjaxResponse.java
@@ -143,14 +143,7 @@ public abstract class XmlAjaxResponse extends AbstractAjaxResponse
response.write("<component id=\"");
response.write(markupId);
- response.write("\" ");
- if (encodingBodyResponse.isContentsEncoded())
- {
- response.write(" encoding=\"");
- response.write(getEncodingName());
- response.write("\" ");
- }
- response.write("><![CDATA[");
+ response.write("\" ><![CDATA[");
response.write(encodingBodyResponse.getContents());
response.write("]]></component>");
@@ -168,18 +161,11 @@ public abstract class XmlAjaxResponse extends AbstractAjaxResponse
{
if (encodingHeaderResponse.getContents().length() != 0)
{
- response.write("<header-contribution");
-
- if (encodingHeaderResponse.isContentsEncoded())
- {
- response.write(" encoding=\"");
- response.write(getEncodingName());
- response.write("\" ");
- }
+ response.write("<header-contribution>");
// we need to write response as CDATA and parse it on client,
// because konqueror crashes when there is a <script> element
- response.write("><![CDATA[<head xmlns:wicket=\"http://wicket.apache.org\">");
+ response.write("<![CDATA[<head xmlns:wicket=\"http://wicket.apache.org\">");
response.write(encodingHeaderResponse.getContents());
response.write("</head>]]>");
response.write("</header-contribution>");
@@ -221,24 +207,16 @@ public abstract class XmlAjaxResponse extends AbstractAjaxResponse
*/
private void writeEvaluation(final String invocation, final Response response, final CharSequence js)
{
- boolean encoded = false;
CharSequence javascript = js;
// encode the response if needed
if (needsEncoding(js))
{
- encoded = true;
javascript = encode(js);
}
response.write("<");
response.write(invocation);
- if (encoded)
- {
- response.write(" encoding=\"");
- response.write(getEncodingName());
- response.write("\"");
- }
response.write(">");
response.write("<![CDATA[");
http://git-wip-us.apache.org/repos/asf/wicket/blob/87c38f29/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
index e62451f..db9d210 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
@@ -1127,13 +1127,6 @@
} else {
var text = Wicket.DOM.text(node);
- // if the text was escaped, unescape it
- // (escaping is done when the component body contains a CDATA section)
- var encoding = node.getAttribute("encoding");
- if (encoding) {
- text = Wicket.Head.Contributor.decode(encoding, text);
- }
-
// replace the component
Wicket.DOM.replace(element, text);
}
@@ -1162,12 +1155,6 @@
// get the javascript body
var text = Wicket.DOM.text(node);
- // unescape it if necessary
- var encoding = node.getAttribute("encoding");
- if (encoding) {
- text = Wicket.Head.Contributor.decode(encoding, text);
- }
-
// aliases to improve performance
var steps = context.steps;
var log = Wicket.Log;
@@ -2000,24 +1987,6 @@
Head: {
Contributor: {
- /**
- * Decoding functionality
- *
- * Wicket sends rendered components and javascript as CDATA section of XML document. When the
- * component body itself contains a CDATA section, Wicket needs to escape it properly.
- */
- decode: function (encoding, text) {
-
- var decode1 = function (text) {
- return replaceAll(text, "]^", "]");
- };
-
- if (encoding === "wicket1") {
- text = decode1(text);
- }
- return text;
- },
-
// Parses the header contribution element (returns a DOM tree with the contribution)
parse: function (headerNode) {
// the header contribution is stored as CDATA section in the header-contribution element.
@@ -2028,11 +1997,6 @@
// get the header contribution text and unescape it if necessary
var text = Wicket.DOM.text(headerNode);
- var encoding = headerNode.getAttribute("encoding");
-
- if (encoding !== null && encoding !== "") {
- text = this.decode(encoding, text);
- }
if (Wicket.Browser.isKHTML()) {
// konqueror crashes if there is a <script element in the xml, but <SCRIPT is fine.
http://git-wip-us.apache.org/repos/asf/wicket/blob/87c38f29/wicket-core/src/test/java/org/apache/wicket/TestDetachPageAjaxResult.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/TestDetachPageAjaxResult.html b/wicket-core/src/test/java/org/apache/wicket/TestDetachPageAjaxResult.html
index e446f29..1e951a4 100644
--- a/wicket-core/src/test/java/org/apache/wicket/TestDetachPageAjaxResult.html
+++ b/wicket-core/src/test/java/org/apache/wicket/TestDetachPageAjaxResult.html
@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="UTF-8"?><ajax-response><component id="comp1" ><![CDATA[<span wicket:id="comp" id="comp1">body</span>]]></component><header-contribution encoding="wicket1" ><![CDATA[<head xmlns:wicket="http://wicket.apache.org"><script type="text/javascript" src="../resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-1.11.3.js"></script>
+<?xml version="1.0" encoding="UTF-8"?><ajax-response><component id="comp1" ><![CDATA[<span wicket:id="comp" id="comp1">body</span>]]></component><header-contribution><![CDATA[<head xmlns:wicket="http://wicket.apache.org"><script type="text/javascript" src="../resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-1.11.3.js"></script>
<script type="text/javascript" src="../resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-event-jquery.js"></script>
<script type="text/javascript" src="../resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery.js"></script>
<script type="text/javascript" src="../resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-debug.js"></script>
<script type="text/javascript" id="wicket-ajax-debug-enable">
/*<![CDATA[*/
Wicket.Ajax.DebugWindow.enabled=true;
-/*]^]^>*/
+/*]]]]><![CDATA[>*/
</script>
<script type="text/javascript" id="wicket-ajax-base-url">
/*<![CDATA[*/
Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.TestDetachPage?0-1.IBehaviorListener.0-comp";
-/*]^]^>*/
+/*]]]]><![CDATA[>*/
</script>
</head>]]></header-contribution><evaluate><![CDATA[(function(){Wicket.Ajax.ajax({"u":"./org.apache.wicket.TestDetachPage?0-1.IBehaviorListener.0-comp","c":"comp1","e":"click"});})();]]></evaluate></ajax-response>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/wicket/blob/87c38f29/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage_ajax_expected.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage_ajax_expected.html b/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage_ajax_expected.html
index adb5a77..4ee122b 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage_ajax_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage_ajax_expected.html
@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="UTF-8"?><ajax-response><component id="test1" ><![CDATA[<a href="./org.apache.wicket.ajax.DomReadyOrderPage?0-1.ILinkListener-test" wicket:id="test" id="test1">Test</a>]]></component><header-contribution encoding="wicket1" ><![CDATA[<head xmlns:wicket="http://wicket.apache.org"><script type="text/javascript" src="../resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-1.11.3.js"></script>
+<?xml version="1.0" encoding="UTF-8"?><ajax-response><component id="test1" ><![CDATA[<a href="./org.apache.wicket.ajax.DomReadyOrderPage?0-1.ILinkListener-test" wicket:id="test" id="test1">Test</a>]]></component><header-contribution><![CDATA[<head xmlns:wicket="http://wicket.apache.org"><script type="text/javascript" src="../resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-1.11.3.js"></script>
<script type="text/javascript" src="../resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-event-jquery.js"></script>
<script type="text/javascript" src="../resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery.js"></script>
<script type="text/javascript" src="../resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-debug.js"></script>
<script type="text/javascript" id="wicket-ajax-debug-enable">
/*<![CDATA[*/
Wicket.Ajax.DebugWindow.enabled=true;
-/*]^]^>*/
+/*]]]]><![CDATA[>*/
</script>
<script type="text/javascript" id="wicket-ajax-base-url">
/*<![CDATA[*/
Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.ajax.DomReadyOrderPage?0-1.IBehaviorListener.0-test";
-/*]^]^>*/
+/*]]]]><![CDATA[>*/
</script>
</head>]]></header-contribution><evaluate><![CDATA[(function(){Wicket.Ajax.ajax({"u":"./org.apache.wicket.ajax.DomReadyOrderPage?0-1.IBehaviorListener.0-test","c":"test1","e":"click","pd":true});})();(function(){test1();})();(function(){test2();})();]]></evaluate></ajax-response>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/wicket/blob/87c38f29/wicket-core/src/test/java/org/apache/wicket/ajax/MockComponent1-expected.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/MockComponent1-expected.html b/wicket-core/src/test/java/org/apache/wicket/ajax/MockComponent1-expected.html
index 146d40b..3ee776e 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/MockComponent1-expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/MockComponent1-expected.html
@@ -8,6 +8,6 @@
width: 200px;
}
-/*]^]^>*/
+/*]]]]><![CDATA[>*/
</style>
</head>]]>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/wicket/blob/87c38f29/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/componentMap/SimpleTestPageExpectedResult-1.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/componentMap/SimpleTestPageExpectedResult-1.html b/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/componentMap/SimpleTestPageExpectedResult-1.html
index 7cb6ab0..3d51ff8 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/componentMap/SimpleTestPageExpectedResult-1.html
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/markup/html/componentMap/SimpleTestPageExpectedResult-1.html
@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="UTF-8"?><ajax-response><component id="linja11" ><![CDATA[<span wicket:id="linja1" id="linja11">1</span>]]></component><header-contribution encoding="wicket1" ><![CDATA[<head xmlns:wicket="http://wicket.apache.org"><script type="text/javascript" src="../resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-1.11.3.js"></script>
+<?xml version="1.0" encoding="UTF-8"?><ajax-response><component id="linja11" ><![CDATA[<span wicket:id="linja1" id="linja11">1</span>]]></component><header-contribution><![CDATA[<head xmlns:wicket="http://wicket.apache.org"><script type="text/javascript" src="../resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-1.11.3.js"></script>
<script type="text/javascript" src="../resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-event-jquery.js"></script>
<script type="text/javascript" src="../resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery.js"></script>
<script type="text/javascript" src="../resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-debug.js"></script>
<script type="text/javascript" id="wicket-ajax-debug-enable">
/*<![CDATA[*/
Wicket.Ajax.DebugWindow.enabled=true;
-/*]^]^>*/
+/*]]]]><![CDATA[>*/
</script>
<script type="text/javascript" id="wicket-ajax-base-url">
/*<![CDATA[*/
Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.ajax.markup.html.componentMap.SimpleTestPage?0-1.IBehaviorListener.0-testPanel-baseSpan-linja1";
-/*]^]^>*/
+/*]]]]><![CDATA[>*/
</script>
</head>]]></header-contribution><evaluate><![CDATA[(function(){Wicket.Timer.set('linja11', function(){Wicket.Ajax.ajax({"u":"./org.apache.wicket.ajax.markup.html.componentMap.SimpleTestPage?0-1.IBehaviorListener.0-testPanel-baseSpan-linja1","c":"linja11"});}, 2000);})();]]></evaluate></ajax-response>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/wicket/blob/87c38f29/wicket-core/src/test/js/head.js
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/js/head.js b/wicket-core/src/test/js/head.js
index 35c178c..9966749 100644
--- a/wicket-core/src/test/js/head.js
+++ b/wicket-core/src/test/js/head.js
@@ -251,31 +251,11 @@ jQuery(document).ready(function() {
equal(newNumber, initialHeadElementsNumber + 1, 'A script element in the added element should be added and executed'); // 2
});
-
- module("Contributor.decode");
-
- test('Wicket.Head.Contributor.decode - remove trailing ^ from closing CDATA', function() {
- var expected = '<![CDATA[some data]]>',
- input = '<![CDATA[some data]]^>',
- encoding = 'wicket1',
- actual = Wicket.Head.Contributor.decode(encoding, input);
-
- equal(actual, expected);
- });
-
- test('Wicket.Head.Contributor.decode - no decoding because of wrong encoding', function() {
- var expected = '<![CDATA[some data]]^>',
- encoding = 'somethingWrong',
- actual = Wicket.Head.Contributor.decode(encoding, expected);
-
- equal(actual, expected);
- });
-
module('Contributor.parse');
test('Wicket.Head.Contributor.parse - parse head element with three script elements inside', function() {
- var xmlDocument = Wicket.Xml.parse('<header-contribution encoding="wicket1"><![CDATA[<head><script type="text/javascript" src="data/test.js"></script><script type="text/javascript" id="wicket-ajax-debug-enable">/*<![CDATA[*/wicketAjaxDebugEnable=true;/*]^]^>*/</script><script type="text/javascript" id="wicket-ajax-base-url">/*<![CDATA[*/Wicket.Ajax.baseUrl="clock";/*]^]^>*/</script></head>]]></header-contribution>');
+ var xmlDocument = Wicket.Xml.parse('<header-contribution><![CDATA[<head><script type="text/javascript" src="data/test.js"></script><script type="text/javascript" id="wicket-ajax-debug-enable">/*<![CDATA[*/wicketAjaxDebugEnable=true;/*]]]]><![CDATA[>*/</script><script type="text/javascript" id="wicket-ajax-base-url">/*<![CDATA[*/Wicket.Ajax.baseUrl="clock";/*]]]]><![CDATA[>*/</script></head>]]></header-contribution>');
var xmlRootElement = xmlDocument.documentElement;
var xmlElement = Wicket.Head.Contributor.parse(xmlRootElement);
var isXml = jQuery.isXMLDoc(xmlElement);