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 2013/06/14 15:35:10 UTC
git commit: WICKET-5071 404 Error on Nested ModalWindows in IE7 and
IE8
Updated Branches:
refs/heads/master 4b37aaf88 -> b5cb9887f
WICKET-5071 404 Error on Nested ModalWindows in IE7 and IE8
PageInstanceMapper now will match if the baseUrl is 'page?..' and the request url is 'page?...'
An explicit mount of a page at 'page' will have higher priority because it is added later in CompoundRequestMapper
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/b5cb9887
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/b5cb9887
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/b5cb9887
Branch: refs/heads/master
Commit: b5cb9887fecad4815849eca22441521ee35669e1
Parents: 4b37aaf
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Fri Jun 14 16:33:17 2013 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Fri Jun 14 16:33:17 2013 +0300
----------------------------------------------------------------------
.../core/request/mapper/PageInstanceMapper.java | 4 ++
.../request/mapper/PageInstanceMapperTest.java | 49 +++++++++++++++++++-
.../ajax/markup/html/modal/ModalWindow.java | 7 +--
.../ajax/markup/html/modal/res/modal.js | 6 +--
4 files changed, 54 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/b5cb9887/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
index 9f75813..3789a9f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
+++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/PageInstanceMapper.java
@@ -185,6 +185,10 @@ public class PageInstanceMapper extends AbstractComponentMapper
{
matches = true;
}
+ else if (urlStartsWith(request.getClientUrl(), pageIdentifier) && urlStartsWith(url, pageIdentifier))
+ {
+ matches = true;
+ }
return matches;
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/b5cb9887/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PageInstanceMapperTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PageInstanceMapperTest.java b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PageInstanceMapperTest.java
index a112640..d1fa307 100644
--- a/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PageInstanceMapperTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/core/request/mapper/PageInstanceMapperTest.java
@@ -31,6 +31,7 @@ import org.apache.wicket.request.IRequestHandler;
import org.apache.wicket.request.Request;
import org.apache.wicket.request.Url;
import org.apache.wicket.request.component.IRequestableComponent;
+import org.apache.wicket.request.component.IRequestablePage;
import org.junit.Test;
/**
@@ -211,7 +212,53 @@ public class PageInstanceMapperTest extends AbstractMapperTest
IRequestHandler handler = encoder.mapRequest(request);
- ((IPageRequestHandler)handler).getPage();
+ IRequestablePage page = ((IPageRequestHandler) handler).getPage();
+ checkPage(page, 4);
+ }
+
+
+ @Test
+ public void decode10()
+ {
+ final Url url = Url.parse("page?4");
+
+ Request request = new Request()
+ {
+ @Override
+ public Url getUrl()
+ {
+ return url;
+ }
+
+ @Override
+ public Locale getLocale()
+ {
+ return null;
+ }
+
+ @Override
+ public Charset getCharset()
+ {
+ return Charset.forName("UTF-8");
+ }
+
+ @Override
+ public Url getClientUrl()
+ {
+ return Url.parse("page");
+ }
+
+ @Override
+ public Object getContainerRequest()
+ {
+ return null;
+ }
+ };
+
+ IRequestHandler handler = encoder.mapRequest(request);
+
+ IRequestablePage page = ((IPageRequestHandler) handler).getPage();
+ checkPage(page, 4);
}
/**
http://git-wip-us.apache.org/repos/asf/wicket/blob/b5cb9887/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
index a7f1f76..317a5b5 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
@@ -1080,22 +1080,17 @@ public class ModalWindow extends Panel
{
throw new WicketRuntimeException("Error creating page for modal dialog.");
}
- CharSequence pageUrl = null;
+ CharSequence pageUrl;
RequestCycle requestCycle = RequestCycle.get();
if (page.isPageStateless())
{
pageUrl = requestCycle.urlFor(page.getClass(), page.getPageParameters());
- appendAssignment(buffer, "settings.ie8_src", pageUrl);
}
else
{
IRequestHandler handler = new RenderPageRequestHandler(new PageProvider(page));
-
pageUrl = requestCycle.urlFor(handler);
- String ie8_pageUrl = requestCycle.getUrlRenderer().renderRelativeUrl(
- requestCycle.mapUrlFor(handler));
- appendAssignment(buffer, "settings.ie8_src", ie8_pageUrl);
}
appendAssignment(buffer, "settings.src", pageUrl);
http://git-wip-us.apache.org/repos/asf/wicket/blob/b5cb9887/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
----------------------------------------------------------------------
diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
index b693e63..9e3e85a 100644
--- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
+++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
@@ -632,11 +632,7 @@
try
{
- if(Wicket.Browser.isIELessThan9()){
- this.content.contentWindow.location.replace(this.settings.ie8_src);
- }else{
- this.content.contentWindow.location.replace(this.settings.src);
- }
+ this.content.contentWindow.location.replace(this.settings.src);
}
catch(ignore)
{