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 2012/12/12 09:05:10 UTC

[1/2] git commit: WICKET-4881 IE 8 : error when handling Wicket Ajax Response

Updated Branches:
  refs/heads/master b55e44566 -> cbf76d0e8


WICKET-4881 IE 8 : error when handling Wicket Ajax Response

Combine all prepend scripts in one <priority-evaluate> and all append scrits in one <evaluate>.

Pros:
- minimizes the work at the client side (there is just one eval)
- reduces the size of the FunctionExecuter queue, i.e. less chance for stack overflow

Cons:
- lower cache hit rate


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/cbf76d0e
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/cbf76d0e
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/cbf76d0e

Branch: refs/heads/master
Commit: cbf76d0e8c355876e302699c0975971773941ae9
Parents: 3ff213d
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Dec 12 10:01:56 2012 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Dec 12 10:01:56 2012 +0200

----------------------------------------------------------------------
 .../org/apache/wicket/ajax/XmlAjaxResponse.java    |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/cbf76d0e/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 f064007..d94b371 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
@@ -192,9 +192,14 @@ abstract class XmlAjaxResponse extends AbstractAjaxResponse
 
 	private void writeEvaluations(final Response response, String elementName, Collection<CharSequence> scripts)
 	{
-		for (CharSequence script : scripts)
+		if (scripts.size() > 0)
 		{
-			writeEvaluation(elementName, response, script);
+			StringBuilder combinedScript = new StringBuilder(1024);
+			for (CharSequence script : scripts)
+			{
+				combinedScript.append("(function(){").append(script).append("})();");
+			}
+			writeEvaluation(elementName, response, combinedScript);
 		}
 	}