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 2018/07/19 19:31:32 UTC

wicket git commit: WICKET-6568 escape header "Wicket-FocusedElementId"

Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x 7665dc563 -> ac85c32f4


WICKET-6568 escape header "Wicket-FocusedElementId"

it might contain non-ASCII

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

Branch: refs/heads/wicket-7.x
Commit: ac85c32f4c001b3c4c06a5d94bd1ff6ab8d4acae
Parents: 7665dc5
Author: Sven Meier <sv...@apache.org>
Authored: Thu Jul 19 18:52:55 2018 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Thu Jul 19 18:52:55 2018 +0200

----------------------------------------------------------------------
 .../main/java/org/apache/wicket/ajax/AjaxRequestHandler.java   | 6 +++++-
 .../java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js   | 3 ++-
 2 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ac85c32f/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java
index 0251113..18cdf05 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxRequestHandler.java
@@ -45,6 +45,7 @@ import org.apache.wicket.request.http.WebResponse;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.response.StringResponse;
 import org.apache.wicket.response.filter.IResponseFilter;
+import org.apache.wicket.util.encoding.UrlDecoder;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.lang.Classes;
 import org.apache.wicket.util.string.AppendingStringBuffer;
@@ -426,8 +427,11 @@ public class AjaxRequestHandler implements AjaxRequestTarget
 	public String getLastFocusedElementId()
 	{
 		WebRequest request = (WebRequest)page.getRequest();
+
 		String id = request.getHeader("Wicket-FocusedElementId");
-		return Strings.isEmpty(id) ? null : id;
+		
+		// WICKET-6568 might contain non-ASCII
+		return Strings.isEmpty(id) ? null : UrlDecoder.QUERY_INSTANCE.decode(id, request.getCharset());
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/ac85c32f/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 2ea6923..18ab6bd 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
@@ -608,7 +608,8 @@
 				topic = we.Topic;
 
 			if (Wicket.Focus.lastFocusId) {
-				headers["Wicket-FocusedElementId"] = Wicket.Focus.lastFocusId;
+				// WICKET-6568 might contain non-ASCII
+				headers["Wicket-FocusedElementId"] = Wicket.Form.encode(Wicket.Focus.lastFocusId);
 			}
 
 			self._executeHandlers(attrs.bh, attrs);