You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2011/09/13 02:41:52 UTC

svn commit: r1169989 - in /wicket/trunk: wicket-core/src/main/java/org/apache/wicket/markup/html/ wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/mar...

Author: pedro
Date: Tue Sep 13 00:41:51 2011
New Revision: 1169989

URL: http://svn.apache.org/viewvc?rev=1169989&view=rev
Log:
Normalizing the contentWindow.location.replace method behavior.
If the location is:
http://localhost:8080/ajax/wicket/page?{id}
And if we want to navigate to some other page mapped by PageInstanceMapper
the current location.replace('page?{id}') works fine, but only for IE9.
In IE 6, 7 and 8 it works only with the full page path after the filter one.
e.g.: location.replace('wicket/page?{id}')
Issue: WICKET-3982

Modified:
    wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/wicket-event.js
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js

Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/wicket-event.js
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/wicket-event.js?rev=1169989&r1=1169988&r2=1169989&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/wicket-event.js (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/wicket-event.js Tue Sep 13 00:41:51 2011
@@ -80,6 +80,13 @@ if (typeof(Wicket.Browser) == "undefined
 			return Wicket.Browser.isIE() && version >= 7;
 		},
 		
+
+		isIELessThan9: function() {
+			var index = navigator.userAgent.indexOf("MSIE");
+			var version = parseFloat(navigator.userAgent.substring(index + 5));
+			return Wicket.Browser.isIE() && version < 9;
+		},
+		
 		isGecko: function() {
 			return /Gecko/.test(navigator.userAgent) && !Wicket.Browser.isSafari();
 		}

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java?rev=1169989&r1=1169988&r2=1169989&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java Tue Sep 13 00:41:51 2011
@@ -1054,6 +1054,8 @@ public class ModalWindow extends Panel
 			{
 				IRequestHandler handler = new RenderPageRequestHandler(new PageProvider(page));
 				pageUrl = RequestCycle.get().urlFor(handler);
+				String ie8_pageUrl = RequestCycle.get().mapUrlFor(handler).toString();
+				appendAssignment(buffer, "settings.ie8_src", ie8_pageUrl);
 			}
 			appendAssignment(buffer, "settings.src", pageUrl);
 		}

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js?rev=1169989&r1=1169988&r2=1169989&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js Tue Sep 13 00:41:51 2011
@@ -630,7 +630,11 @@ Wicket.Window.prototype = { 
 		
 		try
 		{
-			this.content.contentWindow.location.replace(this.settings.src);
+			if(Wicket.Browser.isIELessThan9()){
+				this.content.contentWindow.location.replace(this.settings.ie8_src);
+			}else{
+				this.content.contentWindow.location.replace(this.settings.src);
+			}
 		}
 		catch(ignore)
 		{