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);